activiti学习笔记(六) 监听器

本文详细介绍了Activiti的全局监听器应用,包括监听器接口、初始化配置、流程实例启动时的监听以及测试和结果分析。通过监听器,可以在流程开始和结束时进行监控,实现更精细的流程管理。
摘要由CSDN通过智能技术生成

activiti全局监听器

全局监听器主要使用的场景就是监控这个流程的启动和结束。流程开始的时候可以监控,流程结束的时候也可以监控

监听器的接口

public interface ActivitiEventListener {

  /**当时间被执行时调用该方法*/
  void onEvent(ActivitiEvent event);

 /**
  * @author 郑小康
  * 这个是onEvent执行失败之后进行的处理
  *
  * 如果是true则返回onEvent执行失败的异常
  *
  * 如果是false则忽略这个异常
  * */
  boolean isFailOnException();
}

初始化所有监听器

将所有全局监听器和类型监听器给加入到当前eventListeners里面,这里只是初始化过程

/**
   * @author 郑小康
   *
   * 事件监听器分为两种
   *
   * 1.如果eventDispatcher为空,则实例化ActivitiEventDispatcherImpl
   *
   * 2.设置eventDispatcher的状态为enableEventDispatcher,其值为true 默认支持事件转发
   *
   * 3.遍历当前流程实例所有的eventListeners监听器,将其添加到eventDispatcher
   *
   * 4.遍历所有typedEventListeners 以entry为key进行添加
   *   在cfg.xml文件定义:
   *    <property name="typedEventListeners">
   *      <map>
   *           <entry key="JOB_EXECUTION_SUCCESS,JOB_EXECUTION_FAILURE" >
   *               <list>
   *                  <bean class="org.activiti.engine.example.MyJobEventListener" />
   *                </list>
   *           </entry>
   *     </map>
   *   </property>
   * */
  public void initEventDispatcher() {
    if (this.eventDispatcher == null) {
      this.eventDispatcher = new ActivitiEventDispatcherImpl();
    }

    this.eventDispatcher.setEnabled(enableEventDispatcher);

    if (eventListeners != null) {
      for (ActivitiEventListe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值