在Activiti中: 创建模型后,将生成deploy.ProcessDefinition。其中,processDefinitionId将为' Testprocess:1:577504'任何人都可以帮助我知道这将如何生成以及版本号将如何有用。
var processEngine: ProcessEngine = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration.buildProcessEngine()
val repositoryService: RepositoryService = processEngine.getRepositoryService
val processDefinitions = repositoryService.createProcessDefinitionQuery.deploymentId(577501).list.asScala.toList.map(_.getId)
RESULT:
processDefinitions =List(Testprocess:1:577504)
答案 0 :(得分:2)
流程定义id包含版本的原因是因为为每个Activiti引擎缓存了流程定义。
当您重新部署一个引擎时,其他引擎不知道有新版本。因此,在为特定流程定义启动流程实例时,使用此ID进行快速检查以检查它是否仍然是最新的。
答案 1 :(得分:1)
很多人都回应了,但没有人真正回答过你的问题。 1.如何生成ID?
ID由以下类之一生成,具体取决于您的配置: ./src/main/java/org/activiti/engine/impl/db/DbIdGenerator.java ./src/main/java/org/activiti/engine/impl/persistence/StrongUuidGenerator.java
如果您关心启动的是最近部署的版本,则可以在代码中使用进程密钥,这将忽略该版本并只是启动最新部署。
希望这会有所帮助。 格雷格