Basically, JBPM version control follows the principles below:
1) Each time a process will generate a new process definition in the database.
2) When published, a version number is assigned to the process definition. If the name of the process is the same, JBPM thinks is the same process definition, it will
The highest version of the current same process defined 1; if there is no, the new version number is 1. You can get from JBPM through the API.
The latest version number of a process of a name.
3) Once a process instance is started according to a process definition, it will not change the process definition, and it has been running to this instance. This way, the process
The instance will start pressing the latest process definition and running in its life cycle.
4) Along with a process definition, there is its own business programming logic; JBPM can distinguish between business logic corresponding to different process definitions.