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;
        }
         //实现业务事件

    }

 
}

至此,数据处理成功!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

forever让nodejs应用后台执行

nodejs一般是当成一条用户命令执行的,当用户断开客户连接,运用也就停了,很烦人。如何让nodejs应用当成服务,在后台执行呢? 最简单的办法: $ nohu...

41160
来自专栏抠抠空间

Linux下安装Django

17600
来自专栏黑泽君的专栏

eclipse复制粘贴项目,需要修改的几处地方

2、修改访问的根目录:项目名右键 --> Properties --> Web Project Setting

46120
来自专栏一“技”之长

Git命令集之十——文件移动命令 原

    删除某个文件。这个命令会将文件直接删除,并将此操作更新到缓存区,直接进行commit提交即可。

11910
来自专栏增长技术

Android Studio查看Android源码

打开Android Studio,点击File>Open,选择刚刚生成的android.ipr就好了

41620
来自专栏杂七杂八

phpstudy本地创建站点

打开站点域名管理 ? 填写站点管理内容,然后点击新增,左侧会增加更才填写的内容,然后点击保存设置并生产配置文件 修改hosts本地映射 ? ? Paste_Im...

34760
来自专栏Angular&服务

ionic2 编译打包的坑,

Could not find an installed version of Gradle either in Android Studio, or on y...

11730
来自专栏Duncan's Blog

RESTful web service

REST架构就是为了HTTP协议设计的。RESTful web services的核心概念是管理资源。资源是由URIs来表示,客户端使用HTTP当中的’POST...

10630
来自专栏张浩的专栏

Sqoop在导入的时候生成的MR代码教你怎么指定路径去存放

最近常用Sqoop导入一些数据到HDFS中。但是执行完成后,总是会在我执行sqoop命令的文件夹下生成一些MR代码。总是需要去手动清理。感觉比较困扰,然后就看S...

28010
来自专栏阿炬.NET

解决Android系统短信群发时提示”正在发送大量短信“

51250

扫码关注云+社区

领取腾讯云代金券