gpt4 book ai didi

tomcat - 临时环境中的 Activiti 计时器事件

转载 作者:行者123 更新时间:2023-11-28 23:22:06 28 4
gpt4 key购买 nike

我们目前正在寻找 Activiti 来处理我们组织中的批准事件,但我们希望在容器化环境中构建 REST API*。容器化的 tomcat 实例将共享一个持久层,但由于实例的短暂性质,我们无法让 Activiti 维护任何状态。

我们不认为这是一个问题,但对于定时边界事件来说,它与一个更广泛的问题有关,即 Activiti 计时器工作。计时器的执行是否是保存在(永久)持久层中的日期/时间表达式的函数(因此在引擎与该表达式交互时对其进行评估)?或者它是一个保持运行时钟然后在它到期时触发的进程?两者中的后者不是可取的,但如果是这样的话,当 Activiti 层是非永久性的时,我们如何建议我们跟踪边界计时器?

*(使用可以随时被吹走的临时 Tomcat 层)

最佳答案

这个问题很好,我对您提出的架构非常感兴趣。

计时器事件由 Job Scheduler 处理。在更新的 Activiti 版本中(我相信 >5,16),Timer 和 Async 队列管理器已经分开,但它们仍然使用相同的底层数据表 (ACT_JOB)。

每个Job Executor都会标记一 block 超时的timer events,放入timer queue中处理。您可以在引擎配置中设置每次通过的任务数量以及超时和队列大小。

因此,对于您的具体问题:“计时器的执行是保存在(永久)持久层中的日期/时间表达式的函数(因此在引擎与该表达式交互时对其进行评估)吗?或者它是一个保持运行时钟然后在它到期时触发的进程?”

Timer ACT_JOB 表包含一个 DueDate (DateTime),Timer 线程在查询下一组要处理的作业时将使用它。如果我理解您的语言,这就是选项 1 的变体。

格雷格

关于tomcat - 临时环境中的 Activiti 计时器事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42250009/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com