我有一个关于 Activiti/Camunda 中用户任务的定时器边界事件的特殊问题:
启动流程时,我使用流程变量设置计时器持续时间,并使用边界定义中的表达式来解析变量。边界事件是在用户任务上定义的。
<bpmn2:timerEventDefinition id="_TimerEventDefinition_11">
<bpmn2:timeDuration xsi:type="bpmn2:tFormalExpression">${hurry}</bpmn2:timeDuration>
</bpmn2:timerEventDefinition>
在某些情况下,当计时器已经运行时,可能会发生截止日期(dueDate)应该延长,因为受让人要求更多时间。为此,我想更改定义截止日期的流程变量的值。
碰巧的是,变量已经在流程开始时解析并设置为边界事件。
变量的任何进一步更改都不会影响边界计时器的到期日期,因为它存储在数据库中,并且不会在变量值更改时更新。
我知道如何通过 Java API 更新作业元素的到期日期,但我想提供一种通用方法,例如通过更改变量的值来设置它。
延长期限的最常见用例是边界计时器已经运行时。
任何想法如何解决这个问题?
任何提示都非常受欢迎。干杯克里斯