背景: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()); } }