我需要檢索Camunda BPM DelegateListeners和TaskListeners通知方法內的processInstance的已分配和未分配UserTasks的數量。檢索Camunda監聽器中已分配和未分配的UserTasks的數量
從任務查詢獲取值是沒有問題的,但只包含事務範圍。是否有機會在偵聽器通知方法內部也檢索這些值 - 因此也適用於緩存範圍。我已經嘗試將任務查詢與緩存範圍結合起來(例如,通過在TaskListener「分配」事件上增加assignedTaskCount),但很難使事務和緩存範圍同步。
也許有一個可能的解決方案,通過ActivityInstance
的過程(像做here由於其他原因) - 但我無法找出是否和如何。對我來說會非常有幫助。
目前,我使用流程變量來存儲分配任務和未分配任務的集合,我更新了流程事件 - 但我寧願避免它。
PS:我用事務範圍任期承諾Camunda狀態和兩個Camunda之間的緩存範圍項,爲國家提交。不知道這是否是正確的術語 - 但我認爲我在某處讀過它。
不知道你指的是哪個類,你總是可以調用BPMPlatform.getProcessEngine()來獲取流程引擎並執行查詢 – webjockey
@webjockey是的我有'DelegateTask '或'DelegateExecution'實例可用。但正如我所說的,查詢不能提供完整的答案,因爲結果不包括上次Camunda提交(我稱爲_cached_狀態)後的「狀態」。 – FrVaBe
在調用委託的服務任務中使用asyncBefore提交事務。服務任務將在異步繼續的幫助下執行。請參閱文檔https://docs.camunda.org/manual/7.5/user-guide/process-engine/transactions-in-processes/#asynchronous-continuations – Zelldon