Activiti5 学习笔记 基础篇一


一 Activiti 启动事件与结束事件

1, 空启动事件 (常用)

 属性:activiti:formKey 指定事件关联的表单文件。

有两种表单:

①外置表单 如:activiti:formKey="xxx-start.form".

②动态表单  

<extensionElements> 

<activiti:formProperty id="startDate" name="开始日期" type="date" datePattern="yyyy-MM-dd" writable="false"></activiti:formProperty>

</extensionElements>

activiti:initiator 记录流程启动人ID(也可以是名称).  activiti:initiator="userName"

通过启动时 identityService.setAuthenticatedUserId( id ); 设置,至整个流程都可以用${userName}.访问。

2, 定时启动事件  

<timerEventDefinition><timeCycle>R4/PT10H</timeCycle></timerEventDefinition>

3, 异常启动事件

4, 消息启动事件

5, 结束事件

又分①空结束事件(常用)  ②异常结束事件  ③取消结束事件  (暂时木有发现怎么实用,一般空结束)

二 顺序流 

分为标准顺序流与条件顺序流

activiti 中不作具体区别 有设置conditionExpression的就是条件顺序流, 条件表达式只支持UEL,

如:<conditionExpression xsi:type="tFormalExpression"><![CDATA[${isMan== 'false'}]]></conditionExpression>;

顺序流中可以设置监听器。

三 任务

用户任务  (常用)

属性

activiti:assignee   指定的处理人

activiti:cadidateUsers  指定用户任务的候选人,多个可用',' 分隔。

activiti:cadidateGroups 指定候选组,多个可用',' 分隔。

指定候选人和候选组都需要先签收,再处理.

activiti:dueDate 设置用户任务到期日.

activiti:priority  任务优先级 [0,100].

用户任务也可以添加监听器.

<extensionElements>

<activiti:taskListener class="com.xx.xx" event="complete"/>

</extensionElements>

脚本任务

java service 任务

web service 任务

业务规则任务

邮件任务

camel 任务  Mule任务  

手动任务

接收任务

Shell 任务

多实例任务 

以上没说明的任务都不熟悉,大概什么时候有需求的时候再研究下。

 

四 网关

排他网关  (常用)

只有线路为true才执行,并且多个线路为true只执行第一个true的网关。

<exclusiveGateway id="geteway" default="flow1"/>

并行网关

线路大家一起执行,不会管线路上的设置条件,如有设置则忽略。

分为拆分、合并阶段,不必一一对应,有始有终即可。

<parallelGateway id="bingxing" name="bingxing"/>

包容网关

排他网关与并行网关的合成体,可以一起执行,也可以设置线路条件。

事件网关

 

五 子流程与调用活动    (待实用写)

六 边界与中间事件       (待实用写)

七 监听器 

如上所述的线路与用户任务上都可以设置监听器。

event 有三种 start, take, end.

执行监听器

作用在流程启动、结束、线路开始结束上。

执行类型:

class  设置监听类    expression  监听表达式  delegateExpression指定监听接口,具体类可以在引擎中配置或Spring代理.

如: <activiti:executionListener event="start" class="com.xx.xx"/>, <activiti:executionListener event="start" expression="${name}"/>

任务监听器

作用于用户任务

监听三种事件: 

create: 任务创建且所有任务属性设置完全之后触发。

assignment: 任务分配给某个班里人之后触发,并在create之后。

complete: 任务完成时触发,在运行时任务数据被删除之前触发(act_ru_task表数据清之前)。

执行类型:

class  设置监听类    expression  监听表达式  delegateExpression指定监听接口,具体类可以在引擎中配置或Spring代理.

如:

<userTask id="task1" name="用户任务">

<extensionElements>

   <activiti:taskListener event="complete" class="com.task.listener.taskForUserTaskComplete"/>

</extensionElements>

</userTask>

 

暂时写到这里,待续...

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM