龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

JBPM源码分析(三)---ExecutionServiceImpl类

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
ExecutionServiceImpl是JBPM的核心类,通过它用户可以启动工作流、使工作流进入下一个节点等等。 一、InvocationLog startProcessInstance(Long definitionId, Map variables, String transitionName) 功能:启动一个

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)        令牌状态的转换接受令牌;


  
精彩图集

赞助商链接