В нашем рабочем процессе BPMN с использованием jBPM 5.4.0.Final мы периодически сталкиваемся с проблемой, при которой следующий узел не всегда создается после завершения задачи.
Вот Ключевые наблюдения:
Задача выполнена успешно, но следующий узел иногда не запускается.
Проблема возникает спорадически, большую часть времени работает правильно, но при определенных условиях происходит сбой. .
Проблема специфична для этой пользовательской задачи в процессе BPMN.
При выполнении задачи не возникает никаких ошибок или исключений.
Проблема возникает чаще, когда рабочий процесс предполагает быстрое создание и выполнение задач в одном экземпляре процесса.
Мы подозреваем, что проблема заключается в следующем методе, где поток не входит в блок if. Это может быть связано с тем, что workItemId содержит предыдущий идентификатор workItem для ProcessInstance, что приводит к пропуску блока if и предотвращению создания следующего узла:
Код:< /strong>
org.jbpm.workflow.instance.node.WorkItemNodeInstance
public void workItemCompleted(WorkItem workItem) {
if ( workItemId == workItem.getId()
|| ( workItemId == -1 && getWorkItem().getId() == workItem.getId()) ) {
removeEventListeners();
triggerCompleted(workItem);
}
}
Последовательность кода: (необязательно)
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted
at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent
at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:117)
at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:69)
at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:32)
at org.drools.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36)
at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:373)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:151)
at com.tnq.workflow.engine.NimbleGenericHTWorkItemHandler$TaskCompletedHandler.handleCompletedTask(NimbleGenericHTWorkItemHandler.java:289)
at com.tnq.workflow.engine.NimbleGenericHTWorkItemHandler$TaskCompletedHandler.execute(NimbleGenericHTWorkItemHandler.java:243)
at org.jbpm.task.service.local.LocalTaskService$SimpleEventTransport.trigger(LocalTaskService.java:330)
at org.jbpm.task.event.MessagingTaskEventListener.triggerPayload(MessagingTaskEventListener.java:80)
at org.jbpm.task.event.MessagingTaskEventListener.handleEvent(MessagingTaskEventListener.java:99)
at org.jbpm.task.event.MessagingTaskEventListener.taskCompleted(MessagingTaskEventListener.java:118)
at org.jbpm.task.event.TaskEventSupport.fireTaskCompleted(TaskEventSupport.java:52)
at org.jbpm.task.service.TaskServiceSession.postTaskCompleteOperation(TaskServiceSession.java:577)
at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:499)
at org.jbpm.task.service.local.LocalTaskService.complete(LocalTaskService.java:83)
at org.jbpm.task.service.local.LocalTaskService.completeWithResults(LocalTaskService.java:91)
Подробнее здесь: https://stackoverflow.com/questions/790 ... ue-in-jbpm
Периодическая проблема с рабочим процессом BPMN в jBPM ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как правильно управлять рабочим процессом, заполненным асинхронными блоками?
Anonymous » » в форуме IOS - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
React-Knative-Google-Mobile-AD с управляемым рабочим процессом Expo не будет работать
Anonymous » » в форуме Android - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
React-Knative-Google-Mobile-AD с управляемым рабочим процессом Expo не будет работать
Anonymous » » в форуме Android - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-