我们有一个应用程序可以进行大量的导入和导出——基本上是在 CSV 文件和数据库表之间。
由于各种原因(如“遗留代码”),一些导入和导出是冲突的(您不能同时执行它们)。
我们正在调查javax.batch
。从概念上讲,它非常适合。但我们真正未能找到的是以某种方式管理我们想要运行的某些工作的“排他性”的可能性。
有人可以提供一个指针吗?我们将如何实现独占批处理作业javax.batch
?或者我们应该为此实现我们自己JobOperator
的?
更新
我所说的“排他性”是指能够定义某些作业可能不会并行执行。在最简单的情况下,这将意味着“一次只执行一个作业”。在更复杂的情况下,更复杂的逻辑,例如“A 类型的作业不能与 A 或 B 类型的其他作业一起运行,但 C 可以”。例如,“工作类型”jobXmlName
在这里(与工作参数无关)。