activiti

顺序流和任务

2018-08-19  本文已影响21人  小鱼嘻嘻

顺序流

顺序流是两个模型之间的连接者,可以把顺序流比作是人体的动脉,每一条连接到不同的器官。顺序流分为两类:标准顺序流,条件顺序流。

标准顺序流

标准顺序流可以用来连接两个或者多个模型建立关系。


image.png

对于的XML

 <sequenceFlow id="_5" sourceRef="start" targetRef="_3"/>
条件顺序流

条件顺序流是在标准顺序流上添加了条件表达式,只有满足了条件表达式才能通过顺序流到达目标活动。


image.png

对于XML

 <sequenceFlow id="_4" sourceRef="_3" targetRef="_2">
      <conditionExpression xsi:type="tFormalExpression"><![CDATA[isLeader]]></conditionExpression>
    </sequenceFlow>

任务

任务主要有:用户任务,脚本任务,webservice任务,业务规则任务,邮件任务,mule任务,camel任务,手动任务,Java service任务,shell任务。

用户任务

用户任务必须要有人来参加,也就是必须是人来触发。


image.png

对应的XML

  <userTask  id="_2" name="UserTask">
            <humanPerformer>
                <resourceAssignmentExpression>
                    <expression>xiaoyuxixi</expression>
                </resourceAssignmentExpression>
            </humanPerformer>
        </userTask>

用户任务除了可以分配到某一个具体的人,还可以分配给组或者两者混合

   <userTask  id="_2" name="UserTask">
            <potentialOwner>
                <resourceAssignmentExpression>
                    <expression>xiaoyuxixi,group(leader)</expression>
                </resourceAssignmentExpression>
            </potentialOwner>
        </userTask>
属性名称 属性说明 示例
activiti:assignee 用来指定任务的处理人 <userTask activiti:assignee="xixi"/>
activiti:cadidateUsers 用来指定任务的候选人 <userTask activiti:candidateUsers="xx"/>
activiti:cadidateGroups 用来指定任务的候选组 <userTask activiti:candidateGroups="leader,manager"/>

除了这些还可以设置监听,这个放到以后再说。

手动任务

手动任务是比较特殊的任务之一,它不做任何事情。


image.png

对应的XML

<manualTask id="manualTask"></manualTask>
Java service 任务
image.png

对应的XML

<serviceTask id="serviceTask" activiti:class="com.xiaoyuxixi.JavaService">
            
        </serviceTask>
属性名称 属性说明 示例
activiti:class 实现了接口JavaDelegate或者Activtity-Behavior的Java类 <serviceTask id="serviceTask" activiti:class="com.xiaoyuxixi.JavaService"/>
activiti:expression 可以使用spring代理 <serviceTask activiti:expression="#{userService.back()}"/>
activiti:delegateExpression 在运行过程动态生成,可以使用spring代理 <serviceTask activiti:delegateExpression="#{userService}"/>

多实例

多实例实际业务流程中某个任务甚至子流程可以重复执行多次,在实际应用中一个申请由多人审批是多实例的典型应用场景。多实例可以选择顺序执行,还可以选择并行执行多实例任务或者子流程。

上一篇下一篇

猜你喜欢

热点阅读