流程文档上部署的生命周期如下所示:
分为四大步骤:
(1)定义流程文档:客户端根据自己的业务需求定义流程文档。
(2)启动流程引擎:流程引擎启动之后会自动构造ProcessEngine实例对象,这样客户端就可以通过该实例对象获取各种各样的服务类实例对象。例如,TaskService实例对象,这一系列的服务类实例对象为客户端的操作提供便利。
(3)部署流程文档:调用流程文档部署命令进行部署,该过程只需要客户端调用部署流程文档的命令即可,流程引擎收到命令之后开始进行如下操作:
- 将流程文档中定义的元素解析为Activiti的内部表示BaseElement实例。
- 对BaseElement实例对象再次解析,进而将其转化为流程虚拟机中的ActivityImpl实例对象或者TransitionImpl实例对象,该过程非常重要,也是将BaseElement实例对象注入流程虚拟机的过程。
(4)添加缓存:以上所有步骤完成之后,缓存流程定义信息,这样后续节点运转的时候,只需要从缓存中取值即可,无须再次执行以上的步骤,从而大幅提升性能,流程引擎默认开启了缓存功能更。