JBPM源碼分析(三)---ExecutionServiceImpl類

ExecutionServiceImpl是JBPM的核心類,通過它用戶可以啓動工作流、使工作流進入下一個節點等等。

一、InvocationLog startProcessInstance(Long definitionId, Map variables, 

                                           String transitionName)

功能:啓動一個工作流示例。
1)       
根據definitionId得到工作流定義並初始化一個流程實例;

        2)        得到示例的根令牌,並在令牌中記錄InvocationLog

        3)        流程實例持久化;

        4)        初始化執行上下文;

        5)        如果根令牌分配了actor,則將actor存儲在上下文中;

        6)        觸發PROCESS_START事件;

        7)        找到開始狀態的轉換,讓其接收令牌。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

二、InvocationLog endOfState(Long tokenId, Map variables,

                                 String transitionName)

功能:使工作流進入下一個狀態。
1)       
根據tokenId從數據庫得到令牌;

        2)        檢查令牌是否滿足認證要求;

        3)        創建記錄InvocationLog

        4)        創建運行上下文,並初始化上下文變量;

        5)        觸發STATE_LEAVE事件;

        6)        令牌狀態的轉換接受令牌;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章