runtimeservice.getVariables не работает, потому что не может найти идентификатор экземпляра процесса - PullRequest
0 голосов
/ 15 апреля 2019

Я новичок в Flowable и пытаюсь запустить экземпляр процесса с переменными. params вот карта <String,Object>, которую я использую для запуска процесса. Все идет хорошо, но если я пытаюсь вернуть свои переменные, это говорит мне

"execution 22f42f67-5f88-11e9-9df0-d46d6dbfea92 doesn't exist"

Но если я найду его в списке экземпляров процесса, он там есть. Вот что я делаю:

pi = runtimeService.startProcessInstanceById(processDefinitionId, params);
runtimeService.getVariables(pi.getId());

Я застрял с этой проблемой, и я не понимаю, почему он продолжает это делать. Чего мне не хватает?

1 Ответ

1 голос
/ 16 апреля 2019

Текучий имеет концепцию RuntimeService и HistoryService. Первый содержит только данные времени выполнения (что в данный момент активно), а второй содержит все данные. Данные времени выполнения являются подмножеством данных истории.

Причина, по которой вы не можете найти переменные с помощью RuntimeService, заключается в том, что процесс завершен.

Если вы используете HistoryService, тогда он будет работать как положено.

...