JOffice2中的JBPM4的任务回退实现
任务回退的工作可以有两种实现方式:
???? 1. 完成当前任务,产生新的后退任务
???? 2. 不需要完成当前任务,让当前任务直接指向后退的节点。
?
第一种方式,是joffice1提供的实现,其实现原理就需要有一个completeTask与newTask的动作。在jbpm4的流程历史中有记录这个跳转的过程,
?
第二种方式是joffice2提供的实现,其没有ComplteTask与newTask的动作,只有changeTaskDefintion与change assignee的动作。
?
以下为其实现的代码细节,测试过可以使用,
?
?
目前存在的问题就是不能退回至开始节点,不过有一想法就是可以让动态创建一任务为开始任务,让流程退回这里,但可惜的是,退回是可以,不过再让它往下走的话,就会出现节点类型不能转化的错误。
?
?
?
ProcessInstance pi=getProcessInstanceByTaskId(curTask.getId()); TaskDefinitionImpl taskDef= pd.getTaskDefinition(preTaskName);