0

我使用 JavaSE 的 JSR352 实现编写了一个 Java 批处理应用程序。我有一个阅读器、处理器和编写器。

由于我在 JavaSE 环境中从控制台运行此 java 应用程序,因此我在main(String[] args)方法中使用以下代码来启动该作业。

final JobOperator jobOperator = BatchRuntime.getJobOperator();
jobOperator.start("Job.xml", null);

但是,getJobOperator() 返回 NULL 并收到以下错误消息

警告:javax.batch.runtime.BatchRuntime ServiceLoader 无法找到 JobOperator 的实现。检查 META-INF/services/javax.batch.operations.JobOperator 文件的类路径。

我应该编写 JobOperator 接口的任何实现吗?

4

1 回答 1

2

这些javax.batch.*API 虽然是 EE 7 平台的一部分,但被设计为可在 SE 中使用(它们本身并不需要完整的 EE 平台)。但是,它们没有被指定为 SE 平台的一部分,因此它们不会成为 JDK 的一部分。您需要使用 Java Batch 实现,例如SpringBatchReference Implementation

于 2017-09-15T10:32:52.557 回答