как обрабатывать ошибку или исключение в рабочем процессе jbpm

Я разрабатываю один поток jbpm, который выглядит следующим образом:

начало ----> ServiceTask1 --- вывод -> ServiceTask2 ----- вывод ---> ServiceTask3 -> конец

и хотите зарегистрировать исключение или ошибку, если они возникают в любой из задач службы 1, 2 или 3 (внутри workitemhandler). Но не знаю, как обрабатывать исключение или ошибку в jbpm.

Итак, есть ли небольшой рабочий пример или ссылка, которые показывают, как обрабатывать ошибку или исключение в рабочем процессе jbpm. (Plz не предлагает ссылку jbpm-examples, которую я уже посетил, там много потоков вместе, поэтому невозможно получить четкие изображения )

Заранее благодарны за Вашу помощь.


person Kanahaiya    schedule 15.03.2016    source источник


Ответы (1)


Этот вопрос также был размещен в группах Google Там, там был ответ, и он был принят.

Ниже можно найти выдержку из этого сообщения (с рабочими ссылками): «в общем, у вас есть два варианта:

  • включить обработку ошибок в обработчике рабочего элемента, определить все, что необходимо для обработки исключений
  • использовать события перехвата ошибок (включая подпроцесс событий) для обработки исключений в определении вашего процесса.

Первый вариант очень близок к обычным методам программирования, поскольку требует обработки исключений на уровне кода. обычно удобен для обработки технических исключений, а не ошибок бизнес-логики. Для ошибок бизнес-логики лучше подходят события перехвата ошибок внутри процесса - либо граничные события ошибок, прикрепленные к данной служебной задаче, либо подпроцесс события с событием ошибки запуска, который будет иметь дело с ошибками.

Здесь вы можете найти пример второго подхода, в котором мы вызываем конечную точку веб-службы и обрабатываем ошибки, если таковые имеются:

Со своей стороны я добавлю, что есть еще один хороший пост об обработке ошибок в пользовательских узлах процесса в здесь.

Более того, если кто-то следует последним функциям jBPM: «настраиваемая обработка ошибок введена в версии 7.1, которая будет отвечать за обнаружение любых технических ошибок, возникающих во время выполнения механизма процесса (включая службу задач)». Подробнее см. здесь.

person kris_k    schedule 29.08.2017