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
支持
对我来说有点像设计疏忽,但话又说回来,也许我在滥用拱门
我有两个服务运行一个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
支持对我来说有点像设计疏忽,但话又说回来,也许我在滥用拱门