JBPM4 外向转移异常
JBPM4异常:
No unnamed transitions were found for the task xxx
1. 出错场景
BPM4执行taskService.completeTask(taskId,map)或taskService.completeTask(taskId) 操作时,出现如下异常:
2. 出错原因
Jbpm拥有多个外向转移时,没有处理好外向转移引起的问题。
流程在定义的时候有一个transitions属性节点,这个默认是有一个名称的如图例中“to test1”这个箭头表示流程的流向。
(1)如果流向图很简单的话(只有一个外向转移),我们可以直接将箭头的名字删除,操作可直接调用如下:
taskService.completeTask(taskId,map)
或
taskService.completeTask(taskId)
(2)如果流向图复杂(有多个外向转移),如图例中test1有两个流向,分别是“to test2”,“to test3”,这种需要通过‘to 流向名称’来定义流向,如下所示:
taskService.completeTask(taskId,"外向转移名称");
例:
taskService.completeTask(taskId,"to test2");
3. 解决方案
- 只拥有一个外向转移时,直接调用如下操作:
taskService.completeTask(taskId,map)
或
taskService.completeTask(taskId)
- 拥有多个外向转移时:
(1) 如想转移至有名称的外向转移:
taskService.completeTask(taskId,"外向转移名称");
例:
taskService.completeTask(taskId,"to test2");
(2) 如想转移至无名称的外向转移:
taskService.completeTask(taskId);