Почему Camunda не показывает подписку на события в начале пользовательской задачи, но в конце? - PullRequest
0 голосов
/ 19 января 2019

Моя модель работает следующим образом: если возникает бизнес-ошибка, она переходит к задаче пользователя, в которой администратор обрабатывает ошибку.

Я хочу уведомить клиента (с помощью внешнего инструмента), чтоих проблема в том, что

  • регистрируется при создании пользовательской задачи;
  • просматривается при выполнении пользовательской задачи;
  • решается при пользовательской задачезавершено;
  • опущено (поскольку оно неразрешимо) при удалении пользовательской задачи.

Пользовательская задача имеет граничное событие для сообщения.И родительский процесс также.Я пробую корреляцию сообщений тогдаНо это не имеет никакого эффекта, потому что не показывает никаких подписок на Событие сообщений на «созданном» этапе задачи.

1 Ответ

0 голосов
/ 19 января 2019

TaskListener "onCreate" вызывается во время транзакции, в которой создается задача. поэтому изнутри этой транзакции вы не можете получить доступ к состоянию, измененному из той же транзакции (например, подписка на сообщения).

Но мне интересно: почему у вас есть граничное событие в пользовательской задаче? Зачем вам нужен доступ к его подписке?

Четыре описанных вами варианта использования (onCreate / onAssign / onComplete / onCancel) могут быть реализованы путем присоединения TaskListeners к userTask, нет необходимости в граничных событиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...