前言
最近公司想要把那个改的不成样子的屎山工作流引擎换掉,于是乎我找了找市面上的开源流程引擎,最终定下用camunda,开发过程中查阅的资料发现大部分人部署是直接重新创建一个新的流程,没有直接基于老的流程定义进行修改的代码,找了半天没有收获,突然发现camunda modeler是可以基于rest api重新部署的,得嘞,还得自己动手,重新把camunda-bpm-platform-master的源码拉下来,然后找到了重新部署的方法
源码
先根据官方的restApi的路径和Deploy这个关键词定位到DeploymentResourceImpl.class,然后就发现了好东西,代码如下:
protected DeploymentWithDefinitions tryToRedeploy(RedeploymentDto redeployment) {
RepositoryService repositoryService = getProcessEngine().getRepositoryService();
DeploymentBuilder builder = repositoryService.createDeployment();
builder.nameFromDeployment(deploymentId);
String tenantId = getDeployment().getTenantId();
if (tenantId != null) {
builder.tenantId(tenantId)