Мне нужно получить количество назначенных и неназначенных UserTasks для processInstance внутри методов уведомления Camunda BPM DelegateListeners и TaskListeners.
Получить значения из запроса задачи нетрудно, но он включает только область транзакции. Есть ли шанс получить эти значения также внутри метода уведомления слушателя - то есть также для кэшированной области. Я уже пытался объединить запрос задачи с кэшированной областью (например, путем увеличения assignTaskCount в событиях «присваивания» TaskListener), но синхронизировать транзакцию и кешированную область сложно.
Возможно, есть возможное решение через ActivityInstance
s процесса (например, сделано здесь по другим причинам), но я не смог найти если и как. Было бы очень полезно узнать.
В настоящее время я использую переменные процесса для хранения наборов назначенных задач и неназначенных задач, которые я обновляю при событиях процесса, но я бы предпочел этого избежать.
PS: Я использовал термин область действия для зафиксированного состояния Camunda и термин cached scope для состояния между двумя фиксациями Camunda. Не уверен, что это правильная терминология, но я думаю, что где-то ее читал.
DelegateTask
илиDelegateExecution
. Но, как я уже сказал, запрос не дает полных ответов, поскольку результат не включает состояние после последней фиксации Camunda (то, что я называю состоянием cached). - person FrVaBe   schedule 21.11.2016