flowable 任務監聽器


背景:

我們做流程的是,任務監聽是非常重要的一個組件,那么我們如何來制定任務監聽器呢?

第一:任務監聽有三種事件類型

1. create :在任務創建且所有任務屬性設置完成之后才觸發。

2.assignment :在任務被分配給某個班里人之后觸發,它是在create事件觸發前被觸發。

3.complete:在配置了監聽器的上一個任務完成是觸發,也就是說運行期任務刪除之前觸發。

第二:任務監聽器的三種監聽器執行類型

1.class:需要類的全路徑

實例:

public class StartTaskListener implements TaskListener {

    @Override
    public void notify(DelegateTask delegateTask) {
        logger.debug("調用了任務監聽器");
        
    }

}

 

2.expression:定義一個表達式,類似EL的語法

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM