Как установить временную переменную для Activiti при запуске процесса - PullRequest
0 голосов
/ 14 декабря 2018

Я использую Activiti версии 6.0.0 и пытаюсь установить временные переменные при запуске процесса или завершении задачи. Документация для переходных переменных состояния:

Переходные переменные могут быть получены и / или установлены в большинстве мест, где выставляются обычные переменные:1. На DelegateExecution в реализациях JavaDelegate2. На DelegateExecution в реализациях ExecutionListener и на DelegateTask на реализациях TaskListener3. В скриптовом задании через исполняемый объект 4.При запуске экземпляра процесса через службу времени выполнения 5. При выполнении задания6. При вызове метода runtimeService.trigger

Случаи 1 - 3 мне понятны.Для случая 5 есть taskService.complete(taskId, variables, transientVariables);, для случая 6 - runtimeService.trigger(executionId, processVariables, transientVariables);, но нет runtimeService.startProcess... метода, принимающего переходные переменные ( RuntimeService javadoc ):

List of available startProcess... methods Также я не нашел способа установить временную переменную после запуска процесса, и у меня есть ProcessInstance объект, возвращаемый методом startProcess....

Есть ли способ установить временные переменные при запуске процесса илия должен использовать обходной путь (случаи 1 или 2)?

1 Ответ

0 голосов
/ 17 декабря 2018

Вы можете установить переходные переменные при запуске в 6.x, используя немного другой метод для запуска процесса :

runtimeService.createProcessInstanceBuilder()
        .processDefinitionKey("transientVarsTest")
        .transientVariable("variable", "gotoA")
        .start()
...