Можно ли использовать jBPM Executor в качестве планировщика для бизнес-процессов?

  1. Может ли исполнитель jBPM использоваться для планирования ВСЕХ бизнес-процессов (или такой подход был бы неправильным)?

Краткое объяснение логики, стоящей за этим вопросом: почти все примеры, которые я нашел до сих пор, представляют исполнитель jBPM как способ: асинхронно вызывать ЧАСТИ бизнес-процессов (обработчики рабочих элементов) или простые классы, которые содержат некоторую бизнес-логику.

Кроме того, это выдержка из javadoc интерфейса команд jBPM (executor работает с командами):

/**
 * Executor's Command are dedicated to contain purely business logic that should be executed.
 * It should not have any reference to underlying process engine and should not be concerned
 * with any process runtime related logic such us completing work item, sending signals, etc.
 * ...
 */

С другой стороны, я нашел запись в блоге Мачея Свидерски, в которой написано, что исполнитель поддерживает: "экземпляр процесса асинхронного запуска".

  1. Если через jBPM executor могут быть запущены ВСЕ бизнес-процессы, есть ли у вас опыт расширения функций исполнителя? Я имею в виду добавление дополнительных функций, подобных Quartz, например, поддержка бизнес-календарей, цепочки заданий, группировка заданий.

Заранее спасибо за все ответы.

1 ответ

Решение

Я разговаривал с Мацей Свидерски (основной разработчик jBPM) на IRC-канале jBPM и отвечаю:

ad 1. Да, вы можете сделать это с помощью этой команды: https://github.com/kiegroup/jbpm/blob/master/jbpm-flow/src/main/java/org/jbpm/process/core/async/AsyncStartProcessCommand.java

объявление 2. Job Executor не может быть легко расширен для предоставления функций, подобных Кварцу. Это служит другой цели. Следует использовать, например, Кварц, когда такие расширенные опции необходимы.

Другие вопросы по тегам