activiti--事件监听
Posted jentary
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activiti--事件监听相关的知识,希望对你有一定的参考价值。
一、activiti的监听器分为:全局监听、连线监听、节点监听。
1、节点监听
<userTask id="myTask" name="My Task" >
<extensionElements>
<activiti:taskListener event="create" class="org.activiti.MyTaskCreateListener" />
</extensionElements>
</userTask>
activiti:taskListener 元素属性说明:
-
event (required): 事件类型.。支持的类型有:
-
create: 任务被创建,并且所有的属性都被设置好后。
-
assignment: 任务被委派给某人后.。注意: 当流程执行到达一个userTask时,会先触发一个assignment事件,再触发create事件。
-
complete:在任务完成后,且被从运行时数据(runtime data)中删除前触发。
-
delete: 在任务将要被删除之前发生。注意,当任务通过completeTask完成任务时,它也会被执行。
-
-
class: 必须调用的委托类。 一定要实现
org.activiti.engine.delegate.TaskListener
interface接口。
public class MyTaskListener implements TaskListener {
public void notify(DelegateTask delegateTask) {
String eventName = delegateTask.getEventName();
if ("create".endsWith(eventName)) {
System.out.println("create=========");
}else if ("assignment".endsWith(eventName)) {
System.out.println("assignment========"+delegateTask.getAssignee());
}else if ("complete".endsWith(eventName)) {
System.out.println("complete===========");
}else if ("delete".endsWith(eventName)) {
System.out.println("delete=============");
}
}
}
2、全局监听
public class MyExecutionListener implements ExecutionListener { public void notify(DelegateExecution delegateExecution) throws Exception { String eventName = delegateExecution.getEventName(); if ("start".equals(eventName)) { System.out.println("start========="); }else if ("end".equals(eventName)) { System.out.println("end========="); } else if ("take".equals(eventName)) {//连线监听 System.out.println("take========="); } } }
以上是关于activiti--事件监听的主要内容,如果未能解决你的问题,请参考以下文章
全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<监听器篇>
全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<监听器篇>