jBPM4中如何动态创建并行任务/节点?
大家好!
我在用jBPM设计时遇到一个问题想请教大家,下面是我设计的流程的简化版,仅是用来说明我的问题。
这是一个教师布置作业,学生提交作业的程序。在流程中一位老师完成任务announce后将由多个学生执行任务submit homework. 而学生数在设计的时候无法确定,如果来设计和实现这个功能呢?
我查了一个在jBPM3中大概有两个方法:
- 用ActionHandler动态创建Task;
- 用forkhandler动态创建transition;
但在jBPM4中,仅有EventListener,没有actionHandler了。在jBPM4的EventListener中,仅有一个方法声明,如下:
public void notify(EventListenerExecution execution) throws Exception {
}
其中的参数EventListenerExecution中,我找不到任何创建新task或execution的方法,请问题如何来动态地创建流程节点呢?
谢谢!
[quote=rogerofyan]
大家好!
我在用jBPM设计时遇到一个问题想请教大家,下面是我设计的流程的简化版,仅是用来说明我的问题。
这是一个教师布置作业,学生提交作业的程序。在流程中一位老师完成任务announce后将由多个学生执行任务submit homework. 而学生数在设计的时候无法确定,如果来设计和实现这个功能呢?
我查了一个在jBPM3中大概有两个方法:
- 用ActionHandler动态创建Task;
- 用forkhandler动态创建transition;
但在jBPM4中,仅有EventListener,没有actionHandler了。在jBPM4的EventListener中,仅有一个方法声明,如下:
public void notify(EventListenerExecution execution) throws Exception {
}
其中的参数EventListenerExecution中,我找不到任何创建新task或execution的方法,请问题如何来动态地创建流程节点呢?
谢谢!
[/quote]
现在jBPM4中可以直接用TaskService来处理了,TaskService实际上就是任务引擎对外提供的独立服务接口,其中的newTask()方法即可用来动态创建多个任务实例,然后再调用addTaskParticipatingUser()或addTaskParticipatingGroup()方法实现动态增加任务办理人。
具体怎么做?实现了的来说说!!!



JBPM4最大的变化就是PVM概念,你可以自定义需要的领域语言来实现这个功能,不只是局限在jPDL这个实现上,:)