Activiti工作流與BPMN2.0規範

zsq_fengchen發表於2018-12-20

   把一切需要處理的任務歸結到一起作為一個大流程的一部分,因為子流程嵌入在主流程中,所有也叫”嵌入式子流程”
  子流程限制:只能包含一個空啟動事件,至少有一個結束事件,在子流程中不能把輸出流設定到子流程之外的活動上

4.1 呼叫活動
呼叫活動解決的問題是流程的通用性,和子流程一樣只不過表現的方式不同而已

呼叫活動
屬性名稱 屬性說明
calledElement 流程的ID對應的流程應該獨立存在
activiti:in 呼叫外部流程時傳入的變數,被呼叫活動需要獲取主流的資訊
activiti:out 呼叫活動完成後的結果

五 監聽器

在Activiti 中開發人員可以通過配置監聽器的方式監聽各種動作,例如流程 的啟動,結束,建立,任務的完成
監聽器分為兩類:執行監聽器任務監聽器

執行監聽器可以捕獲的事件如下:
流程例項的啟動,結束
輸出流的捕獲
活動的啟動,結束
路由開始,結束
中間事件開始,結束
觸發開始事件,觸發結束事件

import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
public class ExecutionListenerForFlow implements ExecutionListener{
   @Override
   public void notify(DelegateExecution delegate) throws Exception {
  }
}

任務監聽器相對於執行監聽器的使用範圍要小的多,因為它只適用於使用者任務,用來監聽3種事件
create:在任務被建立且所有的任務屬性設定完成後才觸發
assignment:在任務被分配給某個辦理人之後觸發
complete:在配置了監聽器的上一個任務完成時觸發

import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
public class ExecutionListenerForFlow implements TaskListener{
   @Override
   public void notify(DelegateTask arg0) {
   // TODO Auto-generated method stub
  }
}

相關文章