ExecutionServiceImpl是JBPM的核心類,通過它用戶可以啟動工作流、使工作流進入下一個節點等等。
一、InvocationLog startPRocessInstance(Long definitionId, Map variables,
String transitionName)
功能:啟動一個工作流示例。
1) 根據definitionId得到工作流定義并初始化一個流程實例;
2) 得到示例的根令牌,并在令牌中記錄InvocationLog;
3) 流程實例持久化;
4) 初始化執行上下文;
5) 假如根令牌分配了actor,則將actor存儲在上下文中;
6) 觸發PROCESS_START事件;
7) 找到開始狀態的轉換,讓其接收令牌。
二、InvocationLog endOfState(Long tokenId, Map variables,
String transitionName)
功能:使工作流進入下一個狀態。
1) 根據tokenId從數據庫得到令牌;
2) 檢查令牌是否滿足認證要求;
3) 創建記錄InvocationLog;
4) 創建運行上下文,并初始化上下文變量;
5) 觸發STATE_LEAVE事件;
6) 令牌狀態的轉換接受令牌;
新聞熱點
疑難解答