Если использовать стандартный механизм взаимодействия с JBPM, то дотсуп к основным объектам фреймворка получается не очень удобным способом. В моем приложении активно используется Spring, поэтому я решил получать доступ к JBPM через него. Посмотрим как же этого добиться.
Мне необходимо работать со следующими операциями:
- Деплоить процесс или несколько процессов
- Запускать процессы
- Возобновлять процессы, находящиеся в ожидании.
Для этих целей я ввел два интерфейса: DeployService, ProcessService. Их код представлен ниже.
В реализации DeployService используется реализация JBPM интерфейса RepositoryService. А в ProcessService добавляется использование ExecutionService. Ниже приводится реализация этих интерфейсов.
Можно заметить, что в реализациях я использую стандартную аннотацию Autowired, что означает наличие соответствующих бинов в контексте приложения. Чтобы они там появились необходимо добавить в контекст следующие строчки
Первая строчка инициализирует конфигурацию jbpm параметрами, взятыми из файла конфигурации. Вторая стока создает основной бин, из которого уже получаются два последующих бина.
Ну и последнее, что необходимо сделать, это создать бины для моих сервисов:
Вот и все. Теперь я могу спокойно деплоить процессы с помощью
и запускать например так
Вот такая достаточно простая интеграция получилась.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий