activiti中的2种监听器

activiti中的2种监听器,第1张

监听器是Activiti在BPMN2.0规范基础上扩展的宫嗯那个,是业务与流程的“非侵入性粘合剂”。

监听器可以分未两类:执行监听器和任务监听器,和其他的Activiti扩展模型一样,监听器包含在BPMN2.0规范的 标签中。

执行监听器允许在执行流程过程中执行java代码(实现了监听器接口)或表达式。

执行监听器可以捕获的事件如下:

1、流程实例启动、结束;

2、输出流捕获;

3、活动启动、结束;

4、路由开始、结束;

5、中间事件开始、结束;

6、触发开始事件、触发结束事件

执行监听器的三种监听器执行类型(只能使用其中一种)

相对于执行监听器的使用范围来说,任务监听器的使用范围要小很多,因为它只能应用于用户任务,用来监听3种事件:

在查询流程实例时,通过 businessKey(业务标识 )关联查询业务系统的请假单表,查询出请假天

数等信息。

*** 作流程定义为挂起状态,该流程定义下边所有的流程实例全部暂停:

流程定义为挂起状态该流程定义将不允许启动新的流程实例,同时该流程定义下所有的流程实例将

全部挂起暂停执行。

*** 作流程实例对象,针对单个流程执行挂起 *** 作,某个流程实例挂起则此流程不再继续执行,完成

该流程实例的当前任务将报异常。

讲bpmn流程文件中节点的assignee 使用UEL表达式赋值( ${assignee0} )

任务监听器是发生对应的任务相关事件时执行自定义 java 逻辑 或表达式。

Create:任务创建后触发

Assignment:任务分配后触发

Delete:任务完成后触发

All:所有事件发生都触发

定义任务监听类,且类必须实现 org.activiti.engine.delegate.TaskListener 接口

在部门经理审核前设置流程变量,变量值为请假单信息(包括请假天数),部门经理审核后可以根据

流程变量的值决定流程走向。

通过流程实例 id 设置全局变量,该流程实例必须未执行完成。

任务办理时设置 local 流程变量,当前运行的流程实例只能在该任务结束前使用,任务结束该变量无

法在当前流程实例使用,可以通过查询历史任务查询。

注意:

任务 id 必须是当前待办任务 id,act_ru_task 中存在。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11605451.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存