ProcessEngines由一个或一个以上的ProcessEngine以及与ProcessEngine对应的ProcessEngineInfo组成。
每个ProcessEngine对应一个ProcessEngineInfo。
每个processEngine都是通过一个activiti.properties的配置文件来创建的,activiti.properties配置中有一个process.engine.name来唯一标识流程引擎。
activiti.properties的解析工作由DbProcessEngineBuilder完成,DbProcessEngineBuilder解析文件后创建了ProcessEngineConfiguration的实例,把PersistenceSessionFactory的默认实现IbatisPersistenceSessionFactory保存到ProcessEngineConfiguration的实例中。
在创建ProcessEngine的时候,ProcessEngineConfiguration的实例作为参数传入并返回一个ProcessEngineImpl实例。
下图是每个流程实例创建的过程简图:
一个ProcessEngineConfiguration包含了流程引擎所需要的所有服务组件,如图:
在ProcessEngine和ProcessEngineImpl中只有部分组件暴露出来,对外是可见的。如下图,是ProcesEngine和ProcessEngineImpl对外暴露出的可获取的组件。
《待续》