Wildfly 中的批处理 JSR 352 JobRepository 是否可以在域模式下扩展?

Is a Batch Processing JSR 352 JobRepository in Wildfly scalable in Domain Mode?

我即将实现一个 JSR 352 BatchJob,它应该 运行 在域模式下的 Wildfly 上,在不同的机器上有两个节点。

通过 JobOperator 接口在每个节点上使用相同的 Jdbc JobRepository 是否安全,或者可能存在冲突?

我想确保一个作业一次只能 运行 一次,而不是在节点上并行。

简短的回答是肯定的,使用相同的 jdbc JobRepository 是安全的。

作业执行由您的应用程序启动。因此,您的作业是否一次 运行 仅一次取决于您的应用程序如何启动该作业。如果您的应用程序在之前的作业执行仍在 运行ning 时继续启动此作业,则某些请求将 load-balanced 到另一个节点,并且将在该节点中启动新的作业执行。