Событие сигнала jBPM всегда завершает рабочий элемент
Я реализовал пользовательский обработчик рабочих элементов, который я хочу завершить только внешним вызовом REST. Поэтому предметы executeWorkItem()
метод НЕ вызывает manager.completeWorkItem(workItem.getId(), results);
в конце, что совершенно нормально. Я также назначил событие сигнала этому рабочему элементу в моем процессе, который также вызывается внешним вызовом REST. Обе вещи работают должным образом, но я не понимаю, что каждый раз, когда я сигнализирую о рабочем элементе, он также автоматически завершает рабочий элемент, что приводит к проблеме, заключающейся в том, что процесс продолжается по своему обычному пути и сигнальному. Но причина сигнала состоит в том, чтобы прервать процесс, чтобы следовать ТОЛЬКО сигнальному пути.
Образ процесса к этому можно найти здесь http://cl.ly/image/0F3L3E2w2l0j. В этом примере я дал сигнал "Fail Transfer", но остальные также выполняются, даже если ничего не завершено.
Я использую jBPM 6.1 Final.
Заранее благодарю за любую помощь.
1 ответ
Неважно, я нашел причину такого поведения. Реализован пользовательский обработчик рабочих элементов
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
manager.abortWorkItem(workItem.getId());
}
После удаления manager.abortWorkItem(workItem.getId());
Процесс ведет себя как ожидалось.