Activiti:只有 运行 个与特定流程定义 ID 关联的计时器作业

Activiti: Only run timer jobs associated with a specific process definition ID

我有两个服务运行一个activiti引擎,每个都部署了不同的流程定义。 processX 由serviceX 部署,processY 由serviceY 部署。 processX 和 processY 都有定时器事件,分别调用 serviceX 和 serviceY 中的服务方法。

我 运行 遇到一个问题,进程 X 的作业被服务Y 和作业接收因为 processY 被 serviceX.

接收

根据 https://www.activiti.org/userguide/#async_executor_design,这是预期的行为。 Activiti 引擎的所有 运行 个实例都指向相同的模式,轮询作业 table 并执行堆栈顶部的任何内容,而不管流程定义 ID。

有什么方法可以在 activiti 配置中指定只有与特定流程定义 ID 相关联的作业才能由给定的引擎实例执行吗?

好像不行

Activiti 架构的构建方式使得 每个 应用程序共享一个 Activiti 数据库和 运行 一个 activiti 引擎实例应该能够执行 存储在activiti数据库中的任何个作业

如果你有不同的应用程序,只能执行特定的作业,它们应该由不同的 Activiti DBs

支持

对我来说有点像设计疏忽,但话又说回来,也许我在滥用拱门