我已經使用JavaSE的JSR352實現編寫了一個Java批處理應用程序。我有一個Reader,Processor和Writer。SE JDK是Java Batch(JSR 352)的一部分嗎? (BatchRuntime爲Joboperator返回NULL)
由於我正在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接口的實現嗎?
這個Java批處理作業最終將被部署到Websphere,但是在開發和特定條件下,我希望能夠作爲Java控制檯應用程序運行,而不必部署到JEE容器並通過REST接口觸發它。 – yathirigan
>您需要使用Java Batch實現<對不起,我沒有完全理解。這是否意味着,在javax.batch API之上,我需要使用SpringBatch或導入參考實現項目的jar(它將具有JobOperator實現)? – yathirigan
我已經在我的項目類路徑中擁有了javaee-api-7.0.jar。我認爲這應該足夠。 – yathirigan