[每当我需要更改流程定义时,都必须重新部署流程定义。似乎会创建流程定义的新版本。
有没有一种方法可以更新现有流程定义,而不必一直创建新版本。
如果有新版本的流程定义,旧流程实例将发生什么。
感谢以上查询的任何帮助。
我不认为Activiti API提供了一种无需部署新版本即可替换现有流程定义的方法。
部署新版本的流程时,旧版本上的所有现有流程实例将继续在旧版本上运行。
但是,您可以使用SetProcessDefinitionVersionCmd
类来更改流程实例上的流程版本。但是,它不是“智能”的。它只是更改版本号,而不会更改任何其他运行时数据,因此,如果您在流程定义中进行不兼容的更改,它可能会破坏流程实例。
如暗淡所言,您可以使用SetProcessDefinitionVersionCmd
。
以下代码将更新最新的流程定义ID。
org.activiti.engine.impl.cmd.SetProcessDefinitionVersionCmd