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 class="com.sky.plugin.jbpm.def.ActorsHandel">  
            </assignment>  
        </task>  
        <transition name="拒绝复核" 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"  
                class="com.sky.plugin.jbpm.def.DynamicCreateTaskInstance">  
            </action>  
        </event>  
  
        <event type="task-end">  
            <action name="createInstance"  
                class="com.sky.plugin.jbpm.def.ConuntersignActionHandler">  
            </action>  
        </event>  
  
        <transition name="同意" to="结束">  
            <action name="createInstance"  
                class="com.sky.plugin.jbpm.def.TestActionHandel">  
            </action>  
        </transition>  
        <transition name="拒绝到复核人" 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进行会签处理。判断会签路径来决定会签的执行和走向。


你可能感兴趣的:(xml,jbpm)