流程引擎Camunda的作用以及特点本篇内容不做详细说明, 本篇主要串一下Camunda的源码发布核心步骤:
流程文件扫描:
如果是和spring整合过的camunda主要关注以下内容:
配置isScanForProcessDefinitions:
xml
<process-archive name="test">
<process-engine>default</process-engine>
<properties>
<property name="isDeleteUponUndeploy">false</property>
<property name="isScanForProcessDefinitions">true</property>
</properties>
</process-archive>
解析入口DeploymentOperation
xml内容解析
DeployCmd.execute
流水记录:
进入到DeploymentManager的insertDeployment方法
把流水等信息放入到DeploymentCache中
最后进入到AbstractDefinitionDeployer的deploy方法
进入真正的流程xml解析入口方法postProcessDefinitions
后续根据不同的资源类型, 进入到具体的解析类中进行解析