Flowable监听器

news/2024/11/24 3:00:18/

文章目录

  • 一、执行监听器
    • 1、可以监听的节点
    • 2、添加事件监听器配置
    • 3、具体实现
  • 二、任务监听器
    • 1、可以监听的节点
    • 2、添加任务监听器配置
    • 3、具体实现


一、执行监听器

1、可以监听的节点

  • 开始、结束节点
  • 连线节点
  • 节点的开始和结束
  • 网关的开始和结束
  • 中间事件的开始和结束
  • 开始时间结束或结束事件开始

2、添加事件监听器配置

  • Event事件
    • start 开始
    • take 启用
    • end 结束
  • 类型
    • 类:Class:com.sgp.StartListeners
      • 类名全限定
      • 监听器类上无论是否添加注入@C/S,也只能注入Flowable中的Bean
    • 表达式:Expression
    • 委托表达式:Delegate expression:${startListeners}
      • 监听器类的bean name
      • 监听器类上添加@C/S,既能注入Flowable中的Bean,也能注入Spring管理的Bean
        参数

3、具体实现

@Component
public class ProcessEndLister implements ExecutionListener {@Resourceprivate RuntimeService runtimeService;@Overridepublic void notify(DelegateExecution delegateExecution) {//delegateExecution.getProcessInstanceId();//delegateExecution.getProcessInstanceBusinessKey();//Object delegateExecution.getVariable(String variableName);}
}

二、任务监听器

1、可以监听的节点

  • 用户任务UserTask节点

2、添加任务监听器配置

  • Event事件
    • assignment:任务被委派给某人后触发(create之前触发)
    • create:任务创建时,并且所有的任务属性设置完成后 触发
    • complete:任务完成后,从运行时数据(runtime data)中删除前触发
    • delete:在任务将要被删除之前发生(当任务通过completeTask完成任务时,它也会被执
      行)
  • 类型
    • 类:Class:com.sgp.StartListeners
      • 类名全限定
      • 监听器类上无论是否添加注入@C/S,监听器中只能注入Flowable中的Bean
    • 表达式:Expression
    • 委托表达式:Delegate expression: ${startListeners}
      • 监听器类的bean name
      • 监听器类上添加@C/S,既能注入Flowable中的Bean,也能注入Spring管理的Bean
  • 参数

3、具体实现

@Component
public class ProcessTaskNoticeLister implements TaskListener {//注入参数//添加属性FixedValue,param对应<flowable:field name="param"//获取参数值Sting param.getExpressionText();private FixedValue param;@Autowiredprivate RuntimeService runtimeService;@Overridepublic void notify(DelegateTask delegateTask) {//1、环境信息//流程idString delegateTask.getProcessInstanceId();//任务指定人信息String delegateTask.getAssignee();//该任务xml id String  delegateTask.getTaskDefinitionKey();//该任务名称String  delegateTask.getName();//该任务的人员信息Set<IdentityLink>  delegateTask.getCandidates();//添加、删除候选人delegateTask.deleteCandidateUser(String userId);delegateTask.deleteUserIdentityLink(String userId, String identityLinkType);//不设置identityLinkType时,默认=candidatedelegateTask.addCandidateUser(String userId);delegateTask.addCandidateUsers(Collection<String> candidateUsers);delegateTask.addUserIdentityLink(String userId, String identityLinkType);//添加、删除候选组delegateTask.deleteCandidateGroup(String groupId);delegateTask.deleteGroupIdentityLink(String groupId, String identityLinkType);//不设置identityLinkType时,默认=candidatedelegateTask.addCandidateGroup(String groupId);delegateTask.addCandidateGroups(Collection<String> candidateGroups);delegateTask.addGroupIdentityLink(String groupId, String identityLinkType);//2、流程变量//单个变量获取Object varValue=delegateTask.getVariable(String key);//所有变量key、valueMap<String, Object>variables= delegateTask.getVariables();//所有变量keySet<String> setNames=delegateTask.getVariableNames();//修改变量值delegateTask.setVariable("name","kimi");}
}

http://www.ppmy.cn/news/22900.html

相关文章

做软件测试如何突破月薪20K?熬夜7天整理出这一份3000字超全学习指南...

IT行业从事技术岗位&#xff0c;尤其对于测试来说&#xff0c;月薪20K&#xff0c;即便在北上广深这类一线城市薪水也不算低了&#xff0c;可以说对于大部分测试岗位从业者来说&#xff0c;20K都是一个坎儿。 那么&#xff0c;问题来了&#xff0c;做软件测试如何可以达到月薪2…

全国青少年编程等级考试scratch四级真题2022年12月(含题库答题软件账号)

对青少年编程等级考试scratch真题答题考试系统关注的请点击**电子学会-全国青少年编程等级考试真题Scratch一级&#xff08;2019年3月&#xff09;在线答题_程序猿下山的博客-CSDN博客_小航答题助手1.运行下列程序&#xff0c;量“结果”的值为&#xff1f;&#xff08; &…

DP优化 - 四边形不等式优化

若对于 i≤i′≤j≤j′i\leq i\leq j \leq ji≤i′≤j≤j′&#xff0c;二维数组 aaa 满足如下性质&#xff1a; ai,jai′,j′≤ai,j′ai′,ja_{i,j} a_{i,j} \leq a_{i,j} a_{i, j}ai,j​ai′,j′​≤ai,j′​ai′,j​ 则称数组 aaa 满足四边形不等式。 若对于 i≤i′≤j≤…

故障排查:ArcGIS Data Store升级失败(Attempt to configure data store failed)

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录故障详情问题原因解决办法总结故障详情 最近有同事反馈&#xff0c;他…

软件测试最重要的事之编写用例

软件测试用例得出软件测试用例的内容&#xff0c;其次&#xff0c;按照软件测试写作方法&#xff0c;落实到文档中&#xff0c;两者是形式和内容的关系&#xff0c;好的测试用例不仅方便自己和别人查看&#xff0c;而且能帮助设计的时候考虑的更周。 一个好的测试用例必须包含…

python(13)--字典(Dict)

一、字典的基本操作 1.定义字典 字典也是一个列表型的数据结构&#xff0c;字典的数据是用“{ }”装的&#xff08;列表&#xff1a;[ ]&#xff0c;元组&#xff1a;( )&#xff09;&#xff0c;字典的元素是一一对应的关系“key-value”。 格式&#xff1a; Dictname{ key1…

Suflo-Cyanine5.5 Tyramide,Suflo-Cyanine3 TSA,磺酸基-花青素Cy5 酪酰胺

一、试剂基团反应特点&#xff08;Reagent group reaction characteristics&#xff09;&#xff1a;TSA主要原理是利用酪胺Tyramide的过氧化物酶反应(酪胺盐在HRP催化H202下形成共价键结合位点)&#xff0c;产生大量的酶促产物&#xff0c;该产物能与周围的蛋白残基(包括色氨酸…

共聚焦显微镜能做什么

共聚焦显微镜主要采用3D捕获的成像技术&#xff0c;它通过数码相机针孔的高强度激光来实现数字成像&#xff0c;具有很强的纵向深度的分辨能力。 共聚焦显微镜成像原理 共焦显微镜装置是在被测对象焦平面的共轭面上放置两个小孔&#xff0c;其中一个放在光源前面&#xff0c;…