文章目录 一、执行监听器 1、可以监听的节点 2、添加事件监听器配置 3、具体实现 二、任务监听器 1、可以监听的节点 2、添加任务监听器配置 3、具体实现
一、执行监听器
1、可以监听的节点
开始、结束节点 连线节点 节点的开始和结束 网关的开始和结束 中间事件的开始和结束 开始时间结束或结束事件开始
2、添加事件监听器配置
Event事件 类型 类: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 { @Resource private RuntimeService runtimeService; @Override public void notify ( DelegateExecution delegateExecution) { }
}
二、任务监听器
1、可以监听的节点
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 { private FixedValue param; @Autowired private RuntimeService runtimeService; @Override public void notify ( DelegateTask delegateTask) { String delegateTask. getProcessInstanceId ( ) ; String delegateTask. getAssignee ( ) ; String delegateTask. getTaskDefinitionKey ( ) ; String delegateTask. getName ( ) ; Set < IdentityLink > delegateTask. getCandidates ( ) ; delegateTask. deleteCandidateUser ( String userId) ; delegateTask. deleteUserIdentityLink ( String userId, String identityLinkType) ; delegateTask. addCandidateUser ( String userId) ; delegateTask. addCandidateUsers ( Collection < String > candidateUsers) ; delegateTask. addUserIdentityLink ( String userId, String identityLinkType) ; delegateTask. deleteCandidateGroup ( String groupId) ; delegateTask. deleteGroupIdentityLink ( String groupId, String identityLinkType) ; delegateTask. addCandidateGroup ( String groupId) ; delegateTask. addCandidateGroups ( Collection < String > candidateGroups) ; delegateTask. addGroupIdentityLink ( String groupId, String identityLinkType) ; Object varValue= delegateTask. getVariable ( String key) ; Map < String , Object > variables= delegateTask. getVariables ( ) ; Set < String > setNames= delegateTask. getVariableNames ( ) ; delegateTask. setVariable ( "name" , "kimi" ) ; }
}