Activiti修改流程定义

流程定义按本质来说是不能修改的;假如一个流程定义的流程实例在活动运行中。

假如可以修改,本来要流转到A这个节点,因为流程定义修改了,流转到B这个节点。

就不符合当时这个流程实例的初衷了;

所以在开发中,不能修改流程定义,而是通过增加版本号的方式。来实现“修改”的;

什么事版本号呢?

Activiti修改流程定义_第1张图片

在设计流程图的时候,这里的Id 对应到数据库里的就是那个Key值  只要Id相同。就算是同一个流程定义;

比如这个流程发布多次,Id一样,到数据库表那边 Key作为版本属性 值会增加;

Activiti修改流程定义_第2张图片

启动流程实例的时候,是用Key来启动。这样启动的时候就是用的最新版本的流程定义来启动流程实例。

接着说说这个流程ID是怎样组成的:

Activiti修改流程定义_第3张图片

这个Id值组成的话是 key值:版本号:流程部署ID。

最后传说中的修改就是在发布一次流程定义,因为它在数据库中就原本就存在该流程,

所以在发布一次它就会在版本号这个字段增加。在到做流程操作的时候之须取最新的版本号即可。


你可能感兴趣的:(Activiti工作流,入门实战,Activiti,工作流)