具体的流程图如下:

流程图对应的xml文件如下:
流程启动跟踪分析:
图一:
图二:
图三:
图四:
以上主要是跟踪分析了,三个节点之间的流转情况。
在流转的时候需要注意以下两个接口:
原子操作(atomicoperation)接口:
注意:
interpretableexecution接口:
单独摘出来的两个方法是图一中:
上下文、原子操作、执行器实体三者相互调用的关键。
上图的具体调用情况如下:
executionentity类中的:
performoperation函数中调用上下文commandcontext类中的:
performoperation函数调用原子操作(atomicoperation)接口中的void execute(interpretableexecution execution)来处理。
该处的处理分为两种情况:
1、根据atomicoperation接口标识来继续进行流转
(再次调用executionentity类中的performoperation(atomicoperation executionoperation)方法)
比如:
process_start=》process_start_initial=》activity_execute。。。。。。
具体可以参考本文图一到图四的代码跟踪中的标识。
2、根据节点上的activitybehavior类进行不同的处理
activiti节点(开始、结束、任务、网关等等)都是activity类型的,只是其挂的activitybehavior不同,通过不同的activitybehavior来实现相应的操作。