在數據導入任務期間,我需要在某些「已暫停」或掛起狀態下啓動多個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