我们使用 Spring Shedlock 库在集群环境中一次运行一个任务实例。但看起来锁会一直保持到特定时间(由 lockAtMostFor 属性配置,如果我们不配置,它将从 spring 配置中获取默认值),而不是直到任务完成。
假设我配置了 lockAtMostFor=15 分钟,则 15 分钟内没有并行任务在任何节点上运行,但是 15 分钟后,如果任何节点有机会运行(或手动触发)任务,即使前一个任务没有运行,它也能够启动它完成其处理。
1. Shedlock 是基于时间的吗?
2.Documentation(https://github.com/lukas-krecan/ShedLock)说只有当任务完成时才会释放锁,并且lockAtMostFor属性仅在节点终止事件的情况下使用,但即使任务是,它也不会那样工作未完成其他节点可以运行任务,只有时间未到(lockAtMostFor 属性),其他节点才会被阻止运行任务
我正在从事与银行领域相关的项目,其中我们使用weblogic JPD框架进行BPM(工作流引擎).对于按照要求的新项目,我们需要使用开源BPM框架.我用谷歌搜索并遇到了JBOSS JBPM.我担心的是JBPM足够稳定地用于大规模银行应用程序,不要误会我只是因为JBPM不是商业产品,因为它是weblogic JPD.是否有任何其他开源BPM框架选项.