背景:express
咱们作流程的是,任务监听是很是重要的一个组件,那么咱们如何来制定任务监听器呢?ide
第一:任务监听有三种事件类型this
1. create :在任务建立且全部任务属性设置完成以后才触发。spa
2.assignment :在任务被分配给某个班里人以后触发,它是在create事件触发前被触发。debug
3.complete:在配置了监听器的上一个任务完成是触发,也就是说运行期任务删除以前触发。code
第二:任务监听器的三种监听器执行类型blog
1.class:须要类的全路径接口
实例:事件
public class StartTaskListener implements TaskListener { @Override public void notify(DelegateTask delegateTask) { logger.debug("调用了任务监听器"); } }
2.expression:定义一个表达式,相似EL的语法get
3.delegateExpression:指的是一个实现监听接口
@Component(value = "taskBusinessCallListener") public class TaskBusinessCallListener extends BusinessCallListener implements TaskListener { /** * dubbo的类名 */ private FixedValue clazzName; /** * 方法名 */ private FixedValue method; /** * 版本号 */ private FixedValue version; /** * 参数 多个的话用分号隔开 实例 userCode:00004737;status:1 */ private FixedValue params; @Override public void notify(DelegateTask delegateTask) { String processInstanceId = delegateTask.getProcessInstanceId(); //执行回调 this.callBack(processInstanceId, clazzName.getExpressionText(), method.getExpressionText(), version.getExpressionText(), params.getExpressionText()); } }