activiti的坑---流程删除触发节点结束

用acitivit开发流程,因业务要求,希望实现节点结束时实现相关业务场景!

这个简单,实现activti的事件接口ExecutionListener中就可以了!
代码简单如下

 */
public  class TestListener implements ExecutionListener {
     
    public void notify(DelegateExecution execution) throws Exception {
         //实现业务事件

    }

 
}

功能实现了,上线了,用户又说,怎么流程删除了,事件又触发了!

跟踪了一下,发现用acitivit的方法runtimeService.deleteProcessInstance删除流程,同样会触发配在该节点的上end事件!

原因找到了,那只能在监听器上做个判断,如果是删除事件时,不触发该业务
修改代码如下

     
    public void notify(DelegateExecution execution) throws Exception {
         if(execution instanceof ExecutionEntity){
            if("ACTIVITY_DELETED".equals(((ExecutionEntity)execution).getDeleteReason()))return;
        }
         //实现业务事件

    }

 
}

至此,数据处理成功!

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,902评论 1 11
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,136评论 25 709
  • 今天的图腾是蓝夜,是我自己的图腾,非常开心。早就听说蓝夜非常丰盛,现在有点相信了。我常常跳跃地有很多想法,针对某一...
    Little_Jaycee阅读 11,195评论 5 7
  • 你们想要一个好声音嚒? 想! 但是不知道怎么做是不是? 对! 今天就告诉你们方法,一起练习。 该方法是翻阅无数资料...
    逃了一马阅读 5,043评论 0 7
  • 有料先生阅读 2,817评论 0 1

友情链接更多精彩内容