jbpm之4 会签 ProcessDefinition.xml
jbpm4(2007-03-14 23:30:02)转载
前面写过一篇文章《JBPM流程通过Aciton动态创建TaskInstance来实现“会签”》,不过那篇文章可以说是一个大体思路的简单实现,并不完整,也有不少朋友提出了不少的问题。因为做事要善始善终,所以再次贴出这一主题,把会签进行到底。
参考文章:
JBPM流程通过Aciton动态创建TaskInstance来实现“会签”
JBPM通过AssignmentHandler绑定自定义用户模型实现用户授权(1)
第一步还是给出一个新的ProcessDefinition.xml流程定义文件:
代码
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="资金归集">
<start-state name="启动">
<transition name="" to="制单"></transition>
</start-state>
<task-node name="制单">
<task name="制单">
<assignment actor-id="#{processStarter}"></assignment>
</task>
<transition name="送复核" to="复核"></transition>
</task-node>
<task-node name="复核">
<task name="复核">
<assignment to="制单"></transition>
<transition name="提交审批" to="审批"></transition>
</task-node>
<task-node name="审批" signal="last-wait" create-tasks="false" end-tasks="true">
<task name="审批">
</task>
<event type="node-enter">
<action name="createInstance"
to="结束">
<action name="createInstance"
to="复核"></transition>
</task-node>
<end-state name="结束"></end-state>
</process-definition>
这里除了“文章1”说到要注意的地方外,还要注意的两个地方是:
1. <event type="node-enter">
进入流程节点的时候,执行ActionHandler类com.sky.plugin.jbpm.def.DynamicCreateTaskInstance,用来动态生成TaskInstance。
2. <event type="task-end">
Task结束的时候调用com.sky.plugin.jbpm.def.ConuntersignActionHandler进行会签处理。判断会签路径来决定会签的执行和走向。