JSR352 如何防止相同的作业 运行 两次?

JSR352 How to prevent same job to run twice?

我在 WildFly 上使用 JBeret。

有没有办法防止作业同时 运行 宁两次?

即作业计划每小时 运行。 如果作业 运行 超过一个小时,我不希望它同时 运行 两次,这意味着第二个实例应该失败或拒绝启动。

有没有办法在批处理 xml 文件中声明这种行为?

不,我在工作中看不到任何方法可以做到这一点 xml。您的应用程序代码可以检查是否有任何 运行 相同作业名称的作业执行,然后决定是否开始新的执行。对于定时执行,可以在定时任务中加入这样的检查来检查,如果有的话任务就bail out。