11.9 ジョブリポジトリ自動生成の設定
アプリケーションの開発用途に限り,ジョブリポジトリの自動生成機能を使用できます。ただし,次の条件を満たす必要があります。
-
javax.batch.runtime.BatchRuntimeクラスのgetJobOperatorメソッドの実行時に,JTAトランザクションが開始されていないこと。
-
接続先データベースがアプリケーション開発環境用であること。
ジョブリポジトリの生成方法は,次のプロパティで自動または手動に切り替えることができます。
ejbserver.javaee.batch.jobRepository.autoCreate.enabled
このプロパティのデフォルトはfalseです。trueを設定するとgetJobOperatorメソッドの呼び出し時に「11.10.1 Java Batchのデータベーステーブル」のジョブリポジトリが自動生成されます。
ジョブリポジトリとejbserver.javaee.batch.jobRepository.autoCreate.enabledプロパティの組み合わせを次の表に示します。
ジョブリポジトリ |
ejbserver.javaee.batch.jobRepository.autoCreate.enabled |
|
---|---|---|
true |
false |
|
存在する |
新たにジョブリポジトリの作成は行われません。存在するジョブリポジトリが使用されます。 |
存在するジョブリポジトリが使用されます。 |
存在しない※ |
ジョブリポジトリが作成され,作成されたジョブリポジトリが使用されます。 ジョブリポジトリの作成に失敗した場合は次の動作をします。
|
getJobOperatorメソッドの呼び出し時にKDJE60517-Eをメッセージログに出力し,java.sql.SQLNonTransientExceptionを原因とするjava.util.ServiceConfigurationErrorをスローします。 |