【发布时间】:2018-11-05 04:31:58
【问题描述】:
我正在尝试使用 Fluent API 对进程的运行时进行一些更改。是否可以更新正在运行的实例?
例如: 如果我想在现有事件(用户任务、服务任务...)之间添加新事件并运行新添加的事件。有没有办法做到这一点?
【问题讨论】:
标签: java camunda camunda-modeler bpmn.io
我正在尝试使用 Fluent API 对进程的运行时进行一些更改。是否可以更新正在运行的实例?
例如: 如果我想在现有事件(用户任务、服务任务...)之间添加新事件并运行新添加的事件。有没有办法做到这一点?
【问题讨论】:
标签: java camunda camunda-modeler bpmn.io
你可以这样做:
步骤 2 的最小代码示例:
RuntimeService runtimeService = ..;
ProcessInstance processInstance = ..;
ProcessDefinition oldDefinition = ..;
ProcessDefinition newDefinition = ..;
MigrationPlan migrationPlan = runtimeService
.createMigrationPlan(oldDefinition.getId(), newDefinition.getId())
.mapEqualActivities()
.build();
runtimeSerivce.newMigration(migrationPlan)
.processInstanceIds(processInstance.getId())
.execute();
进一步阅读:
【讨论】:
RepositoryService#createProcessDefinitionQuery 访问流程定义。 ProcessDefinition 是部署的东西。