spring - Activiti:仅运行与特定流程定义 ID 关联的计时器作业
问题描述
我有两个运行 activiti 引擎的服务,每个服务部署不同的流程定义。processX 由 serviceX 部署,processY 由 serviceY 部署。processX 和 processY 都有定时器事件,分别调用 serviceX 和 serviceY 中的服务方法。
我遇到了一个问题,即进程X的作业被服务Y拾取,而进程Y的作业被服务X拾取。
根据https://www.activiti.org/userguide/#async_executor_design,这是预期的行为。所有正在运行的 activiti 引擎实例都指向同一个模式,轮询作业表并执行堆栈顶部的任何内容,而不管流程定义 ID 是什么。
有没有办法在 activiti 配置中指定只有与特定流程定义 ID 关联的作业才应该由给定的引擎实例执行?
解决方案
这似乎是不可能的
Activiti 的架构是这样构建的,即每个共享 Activiti DB 并运行 activiti 引擎实例的应用程序都应该能够执行存储在 activiti 数据库中的任何作业
如果您有不同的应用程序,只能执行特定的作业,它们应该由不同的Activiti DB支持
对我来说有点像设计疏忽,但话说回来,也许我在滥用拱门
推荐阅读
- python - 如何创建自己的方法并在 DataFrame 中使用它?
- python - 如果不存在,如何在文件中插入行?
- salesforce - 如何在 Salesforce soql 中收集所有静音提要项目列表
- c++ - 为什么 c++ 中没有整数的 std::copysign 特化?
- ios - UICollectionViewCell cellSize 不适用于最后一项
- android - 使用LinearLayout在一行(水平)android studio中设置三个按钮
- azure-functions - Azure Functions 运行时无法启动 - Microsoft.Extensions.DependencyInjection
- javascript - 从 DOM 获取值并将其添加到按钮值
- javascript - Highchart 不会在网页上呈现,Javascript
- arrays - 反应插入/删除数组中的行问题未更新