【发布时间】:2017-07-20 23:14:11
【问题描述】:
在一个 Activiti 进程中,我有一个简单的用户任务,其中包含一个定义了持续时间(例如 1 小时)的边界计时器事件。使用 Activiti API,我如何重新启动/重置计时器? (定时器应该在它重新启动的时间后触发。)
通过重置计时器,应该延迟超时处理。
【问题讨论】:
-
Activiti 版本 6
在一个 Activiti 进程中,我有一个简单的用户任务,其中包含一个定义了持续时间(例如 1 小时)的边界计时器事件。使用 Activiti API,我如何重新启动/重置计时器? (定时器应该在它重新启动的时间后触发。)
通过重置计时器,应该延迟超时处理。
【问题讨论】:
虽然我相信您可以检索边界计时器事件执行并使用代码更新计时器值(我认为我在过去已经这样做了,但现在找不到示例),我实际上更喜欢这篇文章中描述的模式,因为它很清晰,当然也很容易实现。
Activiti / Camunda change boundary timer with variable
如果这不能满足您的需求,请告诉我,我会尝试挖掘执行更新代码。
干杯, 格雷格
【讨论】:
managementService.setJobDuedate(jobId, newDueDate) 通过代码更新计时器(从链接问题的 cmets 复制)?首先,我想知道当我手头有任务(例如顺序任务 2)时,我如何才能找到工作 ID?更重要的是:ManagementService 中的 Activiti 6.0 中不存在此方法。如果你能挖掘你的代码会很酷。
setJobDuedate 方法在ManagementService 中不存在,请参阅activiti.org/javadocs/6.latest。不知道 Activiti 6 有没有等效的方法?