1. 程式人生 > >Activit多例項任務

Activit多例項任務

多例項任務:順序和並行

順序:按照集合設定的順序執行

並行:按照集合設定的同時到達任務人

例項的數量就是任務執行人的數量,如果不是使用者任務那麼就要自己設定例項的數量

即:一個任務節點多人(順序或並行)執行


使用者多例項例子

順序:例項的數量不進行設定,而是根據任務執行人數量進行設定

這裡用監聽器進行設定

Sequential: true—順序/false—並行

Collection:集合-------一般用list來設定

Element variable : Element 用於遍歷集合 ,任務執行人assignee 即設定取Elementvariable 的值${ Element }

流程圖:

上級領導審批是並行:在流程啟動時設定審批人managerList

人事部審批是順序:在監聽器中設定審批人hrList

關於監聽器:http://blog.csdn.net/qq_30739519/article/details/51258447



新建listener:java class

在流程啟動時呼叫:

package com.activiti.listener.execution;

importjava.util.ArrayList;

importjava.util.List;

importorg.activiti.engine.delegate.DelegateExecution;

importorg.activiti.engine.delegate.ExecutionListener;

public classLeaveListener implements ExecutionListener {

         //監聽器設定

         @Override

         public void notify(DelegateExecutionexecution) throws Exception {

                   //上級領導審批執行人設定ABC

                   List managerList = newArrayList();

                   managerList.add("A");

                   managerList.add("B");

                   managerList.add("C");

                   execution.setVariable("managerList",managerList);

                   //hr審批執行人設定 QWE

                   List hrList = newArrayList();

                   hrList.add("Q");

                   hrList.add("W");

                   hrList.add("E");

                   execution.setVariable("hrList",hrList);  

         }

}

流程啟動後:

任務節點上級領導審批節點中(並行ABC)

正在執行的任務:


ABC同時接收到任務,ABC都辦理完成之後才能進行下一個節點的執行

ABC都辦理後,到人事部審批 (順序QWE)Q辦理後到W,W辦理後到E,E執行完後才能往下的節點繼續走。