在数据导入任务期间,我需要在某些“已暂停”或挂起状态下启动多个camunda进程实例。该过程有一些定时器,并且定时器的值可以在过去。因此,如果我正常启动这样的进程,它会立即开始执行一些任务,但我想以某种方式推迟执行(因为任务正在使用一些尚未导入的数据)。 所以,我想要这样的行为:在暂停状态下启动camunda进程
1)以某种方式暂停Camunda引擎,或作业执行程序或过程定义。
2)输入所需的所有数据,并在同一时刻启动所需的所有流程
3)取消暂停camunda,让它运行和执行先前启动的进程。
我尝试了以下解决方案:
1)全球暂停从驾驶舱流程定义。但是当我开始这个过程时,它会抛出除了过程定义之外的情况。 我启动过程用下面的代码:
runtimeService.createProcessInstanceByKey("process-key")
.businessKey("some-business-key")
.setVariables(vars)
.startBeforeActivity("xxx")
.execute();
2)开始的过程以相同的码,并在TX暂停过程实例的相同 runtimeService.suspendProcessInstanceById(processInstance.getProcessInstanceId()); 但我得到一些例外和事件。
3)在配置文件中全局禁用camunda作业执行程序。工作正常,但不是很方便每次修改配置和重新启动服务器。
有没有更好的解决方案?
您是否使用共享或嵌入式引擎?如果共享,哪个应用服务器? – thorben
Camunda安装为wildfly10的子模块。 – NullPointer