Camunda is a process engine framework, fork Activiti, official website: https://camunda.org/
The effect of cluster deployment;
1. Multi-machine Operation flow Application
2, the process is updated, compatible with the old process (usually the new process is to add nodes, and processing logic)
3, the deployment of new applications of the machine can perform new and old jobs, the deployment of the old application of the machine can not be implemented, the new application of the job
Modify point:
1, the release of the process definition, the original, the need to release BPMN and the database of the latest process definition, if different on the release
Questions to ask: multi-machine deployment, new and old application restart will cause the process definition in the database to be published back and forth
The change point is: When the BPMN is published and all the process definitions in the database are compared, if the same republishing is not found.
2, the application of the database job, the original, the application machine is to take all versions of the job, there is a configuration jobexecutordeploymentaware only to take their own deployment, but will lead to not be able to deal with the lower than this version of the job
Gu modified point is: When the process definition release, the cache is lower than the release of all Deploymentid, from the database to get job through these Deploymentid to filter
3, the application of the release process to modify, through the process defined by a version number to start the process. This point needs to be based on 1 cache, with the same database process definition ID as BPMN
After the above source modification
Camunda will be able to meet the cluster deployment
Modified files:
Modified:pom.xml
Modified:src/main/java/org/camunda/bpm/engine/processengineconfiguration.java
Modified:src/main/java/org/camunda/bpm/engine/impl/cfg/processengineconfigurationimpl.java
Modified:src/main/java/org/camunda/bpm/engine/impl/cmd/deploycmd.java
Modified:src/main/java/org/camunda/bpm/engine/impl/persistence/entity/jobmanager.java
Modified:src/main/resources/org/camunda/bpm/engine/impl/mapping/entity/job.xml