camunda流程图部署过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了camunda流程图部署过程相关的知识,希望对你有一定的参考价值。
参考技术A 简述:目前通过源码得知camunda流程引擎,在系统启动时,会根据bpmn文件部署流程,所以我们来看下整个bpmn文件是如何加载存储并使用的。
源码入口
SpringProcessEngineConfiguration
autoDeployResources会通过RepositoryServiceImpl.deploy方法执行部署。内部利用了命令模式。最终调用DeployCmd.doExecute(CommandContext commandContext)
下面我们介绍下这个方法的执行逻辑。
resolveResourcesToDeploy方法主体分两步
step1:读取库中存有的最近一个部署版本和部署版本对应的流程图
库为:ACT_GE_BYTEARRAY 和 ACT_RE_DEPLOYMENT
对应的mybatis sql 为
step2:比较传入的流程图版本是否和库中的一致,如果不一致则使用当前resource中读取到的流程图
resourcesDiffer方法
拿到需要部署的流程图后,如果resourcesToDeploy不为空,那么需要将最新版本的流程落库存储并存入缓存DeploymentCache。
接着执行的是deploy方法实际执行的是子类BpmnDeployer.transformDefinitions 进行数据解析
最终会走到
以上是关于camunda流程图部署过程的主要内容,如果未能解决你的问题,请参考以下文章
[9]深入浅出工作开源框架Camunda:流程部署和流程启动权限控制
[9]深入浅出工作开源框架Camunda:流程部署和流程启动权限控制