我想在幕后通过配置为远程分区配置一个JSR-352批处理作业,而不必在作业定义中显式地定义控制器/工作器(无论如何JSR-352规范不支持这一点)。IBM WebSphere Liberty通过其"多jvm"提供了此功能。特性,您可以在配置文件(server.xml)中定义远程分区。
我已经看到,遗留的Spring Batch有能力支持远程分区,但只能通过显式的作业定义。我不想使用旧的Spring Batch。相反,我想构建一个可移植到Java EE的解决方案,包括IBM Liberty。
我不想使用旧的Spring Batch。相反,我想构建一个可移植到Java EE的解决方案,包括IBM Liberty。
如果您真的想要一个可移植的解决方案,您需要在JSR-352的作业规范语言中定义您的作业,并使用:
启动它javax.batch.runtime.BatchRuntime.getJobOperator().start(jobName, properties)
现在,如果JSR-352没有指定如何定义远程分区设置,那么您就无法获得可移植的解决方案。
请注意,Spring Batch和JSR-352之间存在一些差异,这些差异在JSR-352支持部分中有详细说明。这里记录了分区的不同之处。