一、因为加入了不同的分支流向,所以当审批不通过要驳回时JBPM应该能够得到当初提交任务的参与者,
   而这个工作通过直接用actor-id=#{}来实现并不合适,因为如果有很多这样的指定的话,
   可能会乱套,JBPM提供了一个专门能解决该问题的机制。
  
   解决方法:使用泳道,它是定义流程中的多个任务由相同参与者完成的一种机制,这使的泳道正好能够完成任务。
       在第一个任务实例为指定泳道创建后,参与者将被流程记住,以被在同一泳道中的后续任务所使用。
       泳道有一个分配,因此所有引用泳道的任务不需要再指定分配。
      
    **注意:可以在<start-state>开始节点添加一个任务<task>,用swimlane机制来记录流程的启动者
   
    **实现:这里实现了泳道机制
   
    用法:一般放到流程定义文件顶部的位置定义<swimlane>


    <swimlane name="swimlane名字供task应用">
     <assignment class="处理类名字"/>
    </swimlane>
    或
    <swimlane name="swimlane名字供task应用">
     <!--当然这里也可以写死,即actor-,我们又加入了一个人力资源经理,也就是登陆界面加入了一个下拉框选项,这样增加一个参与者。
       
 三、对流程定义中的分配任务参与者机制再次修改:将部门经理审批中通过actor-id写死的值,改成通过class类来动态指定actor-id的值,

       即指定一个类名,然后该类要实现AssignmentHandler接口,实现类中的方法会在执行到对应的任务之前被调用,以便顺利分配任务

       的参与者

 

相关文章: