我需要在Camunda BPM DelegateListeners和TaskListeners通知方法中检索processInstance的已分配和未分配UserTasks的数量。
从任务查询中获取值没有问题,但只包括事务范围。是否有机会在侦听器通知方法中检索这些值 - 因此也适用于缓存范围。我已经尝试将任务查询与缓存范围相结合(例如,通过在TaskListener“赋值”事件上递增assignedTaskCount),但很难使事务和缓存范围同步。
也许有一个可能的解决方案通过流程的ActivityInstance
(如其他原因完成here) - 但我无法确定是否以及如何。对我来说非常有帮助。
目前我使用流程变量来存储已分配任务的集合和我在流程事件上更新的未分配任务 - 但我宁愿避免它。
PS:我使用了事务范围术语用于提交的Camunda状态和缓存范围术语,用于两个Camunda提交之间的状态。不确定这是否是正确的术语 - 但我想我在某处读过它。
答案 0 :(得分:1)
Camunda在事务边界之间进行批量更新;它甚至可能决定更新提交到流程结束。活动后有一个属性异步后/之前;尝试这些,看看交易是否很快就会提交