Java バッチと管理バッチの概要
Java バッチ機能では、トランザクション・アプリケーションと並んでバッチ作業を実行する必要があるアプリケーションに対応するために、 アプリケーション・サーバーを拡張します。 バッチ処理は、終了するのに数時間から数日かかる場合があり、実行中に大量のメモリーまたは処理能力を使用します。
個々の要求は、数秒のプロセッサー時間と比較的少ないメモリーで完了することができます。 一方、多くのアプリケーションは、計算中心でリソース消費型のバッチ作業を完了する必要があります。
Liberty は、以下のバッチ・フィーチャーをサポートします。
- Java バッチ
batch-1.0フィーチャーは、JSR-352 プログラミング・モデルを使用可能にします。 - 管理バッチ
batchManagement-1.0フィーチャーは、以下の機能を提供します。- リモート・ジョブ・サブミットのための REST インターフェース
- batchManager コマンド・ライン・ユーティリティー
- ジョブ・ロギングのサポート
- JMS を使用した複数サーバーのサポート
注:
batchManagement-1.0 フィーチャーは、 batch-1.0 フィーチャーも有効にします。Java バッチのシャットダウンおよび復旧
Java バッチ・フィーチャーは、ジョブがまだ実行中にサーバーがシャットダウンされると、異なる動作を行います。
サーバーが停止されるか、Java バッチ・フィーチャーが削除されると、Java バッチは非アクティブ化されます。 Java バッチは、動的構成更新を処理するためにも、非アクティブ化および再アクティブ化されます。 Java バッチを非アクティブ化すると、停止要求がすべてのアクティブなジョブおよびメッセージに対して発行され、各停止についてログに記録されます。 ジョブが停止するまで 2 秒間あります。 2 秒後にまだ実行中の Java バッチ・ジョブがあった場合、まだアクティブなジョブ実行 ID を示すメッセージがログに記録されます。 その後、Java バッチはシャットダウンします。 Java バッチのシャットダウン後にジョブがまだ実行中の場合、そのジョブは予測不能な動作を示す可能性があります。
重要: サーバーが予期せず停止した場合、Java バッチは、サーバーの再始動時に、サーバー上で実行されていたが完了していないすべてのジョブに FAILED のマークを付けることによってリカバリーします。