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流程图部署过程的主要内容,如果未能解决你的问题,请参考以下文章

流程引擎之Camunda开发记录(六)流程部署的四种方法

[9]深入浅出工作开源框架Camunda:流程部署和流程启动权限控制

[9]深入浅出工作开源框架Camunda:流程部署和流程启动权限控制

流程引擎Camunda开发记录(一)

第四篇Camunda系列-ProcessEngine核心对象

第四篇Camunda系列-ProcessEngine核心对象