flowable 啟動流程的三種方式


package org.fh.controller.act;

import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;

import org.fh.controller.base.BaseController;

import org.flowable.common.engine.impl.identity.Authentication;

import org.flowable.engine.RuntimeService;

import org.flowable.engine.runtime.ProcessInstance;

/**

* 說明:啟動流程用

* 作者:FH Admin

* from:fhadmin.cn

*/

public class AcStartController extends BaseController {

@Autowired

private RuntimeService runtimeService; //與正在執(zhí)行的流程實例和執(zhí)行對象相關的Service(執(zhí)行管理,包括啟動、推進、刪除流程實例等操作)

/**通過KEY啟動流程實例(不帶變量)

* @param processInstanceKey //流程定義的KEY

* @return 返回流程實例ID

*/

protected String startProcessInstanceByKey(String processInstanceKey){

ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceKey); //用流程定義的KEY啟動,會自動選擇KEY相同的流程定義中最新版本的那個(KEY為模型中的流程唯一標識)

return processInstance.getId(); //返回流程實例ID

}

/**通過KEY啟動流程實例(帶變量)

* @param processInstanceKey 流程定義的KEY

* @param map 存流程變量

* @param USERNAME 流程發(fā)起人

* @return 返回流程實例ID

*/

protected String startProcessInstanceByKeyHasVariables(String processInstanceKey,Map<String,Object> map, String USERNAME){

Authentication.setAuthenticatedUserId(USERNAME);//設置流程發(fā)起人

ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processInstanceKey, map); //map存儲變量 用流程定義的KEY啟動,會自動選擇KEY相同的流程定義中最新版本的那個(KEY為模型中的流程唯一標識)

Authentication.setAuthenticatedUserId(null);//這個方法最終使用一個ThreadLocal類型的變量進行存儲,也就是與當前的線程綁定,所以流程實例啟動完畢之后,需要設置為null,防止多線程的時候出問題。

return processInstance.getId(); //返回流程實例ID

}

/**通過ID啟動流程實例

* @param processInstanceId //流程定義的ID

* @return 返回流程實例ID

*/

protected String startProcessInstanceById(String processInstanceId){

ProcessInstance processInstance = runtimeService.startProcessInstanceById(processInstanceId); //用流程定義的ID啟動

return processInstance.getId(); //返回流程實例ID

}


}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容