JavaSEのJSR352実装を使用してJavaバッチアプリケーションを作成しました。私はリーダー、プロセッサー、ライターを持っています。Javaバッチ(JSR 352)はSE JDKの一部ですか? (BatchRuntimeはJoboperatorに対してNULLを返します)
JavaSE環境のコンソールからこのJavaアプリケーションを実行しているので、main(String[] args)
メソッドで次のコードを使用してジョブを開始します。
final JobOperator jobOperator = BatchRuntime.getJobOperator();
jobOperator.start("Job.xml", null);
しかし、getJobOperator()はNULLを返し、次のエラーメッセージが表示されます
WARNING:javax.batch.runtime.BatchRuntimeザ・ServiceLoaderはJobOperatorためimplemenationを見つけることが できませんでした。 META-INF/services/javax.batch.operations.JobOperatorファイルのクラスパスを確認してください。
JobOperatorインターフェイスの実装を記述する必要がありますか?
このJavaバッチジョブは最終的にWebsphereにデプロイされますが、開発中や特定の状況では、JEEコンテナにデプロイしてRESTインターフェイス経由で起動するのではなく、Javaコンソールアプリケーションとして実行できるようにしたい。 – yathirigan
> Javaバッチ実装を使用する必要があります。<申し訳ありませんが、私は完全に理解していませんでした。つまり、javax.batch APIの上にSpringBatchを使用するか、参照実装プロジェクト(JobOperator実装を持つ)のjarをインポートする必要がありますか? – yathirigan
私はすでにプロジェクトのクラスパスにjavaee-api-7.0.jarを持っています。私はそれが十分であるべきだと思った。 – yathirigan