Там похожа проблема в Terminate process at any step (jbpm)Прекратить экземпляр процесса в jBPM 6
Точно так же, я хотел бы реализовать возможность прекратить экземпляр процесса в любом задаче (задаче сценария, задачи пользователя, задачи службы). Я могу попытаться добавить шлюз с промежуточным событием catch для каждой отдельной задачи в моем рабочем процессе. Но это кажется неэффективным и заставляет затухать диаграмму bpm.
В Oracle BPM легко иметь событие Message Wait
и автоматическую задачу, где я могу сделать this.action=ABORT
.
Точно так же в моем процессе jBPM, пользователь будет посылать команду «прекратить» через пользовательский интерфейс, который бы завершить процесс. Однако до завершения процесса этот процесс будет выполнять некоторую пост-обработку (то есть: обновить таблицу db или отправить электронное письмо, чтобы уведомить пользователей о завершении), которые я хотел бы выполнить внутри обработчика настраиваемого рабочего элемента. Пример рабочего процесса хотел бы посмотреть на это. Я знаю, что это не соответствует спецификации bpm, что задача пользователя должна иметь одно входящее и одно исходящее соединение.
Спасибо Крису за предложение. –