Во время задачи импорта данных мне нужно запустить несколько экземпляров процесса camunda в некотором «приостановленном» или приостановленном состоянии. Процесс имеет несколько таймеров, и значения этих таймеров могут быть в прошлом. Поэтому, если я запускаю такой процесс нормально, он немедленно начнет выполнение некоторых задач, но я хочу как-то отложить это выполнение (потому что задачи используют некоторые данные, которые еще не импортированы). Итак, я хочу такого поведения:Начать процесс camunda во взвешенном состоянии
1) каким-то образом приостановить двигатель камунды, или исполнитель задания, или определение процесса.
2) импортировать все необходимые данные, и в то же время начать все необходимые процессы
3) Возобновить на camunda, чтобы позволить ей работать и выполнять ранее созданные процессы.
Я попытался следующие решения:
1) глобально приостановить определение процесса из кабины. Но когда я запускаю этот процесс, он выдает исключение, касающееся определения расширенного процесса. я начать процесс с помощью следующего кода:
runtimeService.createProcessInstanceByKey("process-key")
.businessKey("some-business-key")
.setVariables(vars)
.startBeforeActivity("xxx")
.execute();
2) начать процесс с тем же кодом, и в том же ОМ приостановить экземпляр процесса runtimeService.suspendProcessInstanceById (processInstance.getProcessInstanceId()); Но я получаю некоторые исключения и инциденты.
3) Отключить исполнитель заданий camunda во всем мире, в файле конфигурации. Работает нормально, но не очень удобно изменять конфигурацию и перезапускать сервер каждый раз.
Есть ли лучшие решения?
Вы используете общий или встроенный двигатель? Если общий, какой сервер приложений? – thorben
Camunda установлен как подмодуль wildfly10. – NullPointer