Activiti理论学习-3--子流程、监听器

1.子流程

把一切需要处理的任务归结到一起作为作为一个大流程的一部分,因为子流程嵌入在主流程中,所有也叫"嵌入式子流程"
子流程限制:
只能包含一个空启动事件
至少有一个结束事件
在子流程中不能把输出流设置到子流程之外的活动上

  1. 子流程: 一个包含其他节点,网关,事件等等的节点。 它自己就是一个流程,同时是更大流程的一部分。
  2. 事件子流程: 事件子流程可以添加到流程级别或任意子流程级别。用于触发事件子流程的事件是使用开始事件配置的。
  3. 事务子流程: 事务子流程是内嵌子流程,可以用来把多个流程放到一个事务里。 事务是一个逻辑单元,可以把一些单独的节点放在一起,这样它们就可以一起成功或一起失败。
  4. 调用活动(子流程): 这个流程定义需要被很多其他流程定义调用的时候。调用活动解决的问题是流程的通用性,和子流程一样只不过表现的方式不同而已。

调用活动

属性名称属性说明
calledElement流程的ID对应的流程应该独立存在
activiti:in调用外部流程时传入的变量,被调用活动需要获取主流的信息
activiti:out调用活动完成后的结果

2.监听器

在Activiti 中开发人员可以通过配置监听器的方式监听各种动作,例如流程 的启动,结束,创建,任务的完成
监听器分为两类:执行监听器和任务监听器

2.1 执行监听器

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

  • 流程实例的启动,结束
  • 输出流的捕获
  • 活动的启动,结束
  • 路由开始,结束
  • 中间事件开始,结束
  • 触发开始事件,触发结束事件

2.2 任务监听器

任务监听器相对于执行监听器的使用范围要小的多,因为它只适用于用户任务,用来监听4种事件

  • create(创建):在任务被创建且所有的任务属性设置完成后才触发
  • assignment(指派):在任务被分配给某个办理人之后触发
  • complete(完成):在配置了监听器的上一个任务完成时触发
  • delete(删除):在任务即将被删除前触发。请注意任务由completeTask正常完成时也会触发。

class:必须调用的代理类。 这个类必须实现org.activiti.engine.delegate.
TaskListener接口

expression:(不能与class属性一起使用):指定在事件发生时要执行的表达式。可以为被调用的对象传递DelegateTask对象与事件名(使用task.eventName)作为参数。

delegateExpression:指定一个能够解析为TaskListener接口实现类的对象的表达式。与服务任务类似。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值