WebSphere Extended Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows, z/OS

バッチ・ジョブ・ステップ

バッチ・アプリケーションの異なるタスクはバッチ・ステップに分割できます。 ビジネス・インターフェースとして com.ibm.websphere.batch.BatchJobStepLocalInterface を指定する Enterprise JavaBeans (EJB) に管理されるローカル側コンテナーとしてバッチ・ステップは実装されます。

BatchJobStepLocalInterface のコールバック・メソッドにより、長時間実行の実行環境 (LREE) は バッチ・ジョブを実行するときバッチ・ステップを稼働できます。

バッチ・ステップ EJB は、一部のバッチ・ジョブのために実行するバッチ可能なビジネス・ロジックを含みます。 通常、バッチ・ステップはバッチ・データ・ストリームからレコードを読み取るコードを含んでおり、 そのレコードでビジネス論理を実行し、続いて、次のレコードの読み取りを継続します。 バッチ・ステップ EJB の processJobStep メソッドは、バッチ・ループで LREE に呼び出されます。 このメソッドは、データ上で実行するためにバッチを行うことが可能なすべての論理を含むべきです。

LREE は、グローバル・トランザクションの下でバッチ・ステップ EJB メソッドを呼び出します。 このグローバル・トランザクションは LREE によって管理されます。 トランザクション・タイムアウトまたはトランザクション・コミット間隔などのトランザクションの振る舞いは、 ステップが属するバッチ・ジョブに関連するチェックポイント・アルゴリズムによって制御されます。

以下は、順序リストの LREE によって呼び出された BatchJobStepLocalInterface の LREE コールバック・メソッドです。

BatchJobStepLocalInterface の getProperties() メソッドは、LREE に現在呼び出されていません。 それは、対称性および将来考えられる利用のためにインターフェースに組み込まれます。

バッチ開発のトラブルシューティング

  • バッチ・コントローラー Bean のデプロイメント記述子は、 バッチ・アプリケーションの EJB デプロイメント記述子で宣言されなければならなく、また、バッチ・アプリケーションで使用されるステップ EJB にローカル側 EJB 参照を持つ必要があります。 各バッチ・アプリケーションにつき 1 つのコントローラー Bean のみ定義できます。
  • すべてのバッチ・ステップ・メソッドのトランザクションの属性は必須に設定する必要があります。
  • バッチ・アプリケーション開発者は、バッチ・ステップ・コールバック・メソッド内で行われたトランザクション処理が LREE によって開始したグローバル・トランザクションを継承することを保証しなければなりません。 これはバッチステップの下で実行される処理のみがあらゆるチェックポイントでコミットされ、ステップが障害条件に遭遇した場合ロールバックされるのを確認します。
  • バッチステップがバッチデータ・ストリーム (BDS) を使用し、そのデータが バッチ・アプリケーションがデプロイされるアプリケーション・サーバーの ファイル・システムに対してローカルの場合、ジョブ再始動シナリオをサポートするように 確実なステップを行うことが重要です。 そのようなバッチ・アプリケーションが複数のマシンで実行できるアプリケーション・サーバーに デプロイされるとき、例えば、複数のノード・メンバーを持っているノード・グループに存在する 動的クラスターにデプロイされる場合、さらに、 そのようなアプリケーションに対して実行するバッチ・ジョブがキャンセルされ、 再始動された場合、再始動要求がバッチ・ジョブが元々実行されたマシンに進むという保証はありません。 複数のノード・メンバーを持つノード・グループに存在する動的クラスターにデプロイされ、 そのようなアプリケーションに対して実行するバッチ・ジョブがキャンセルされ、再始動される場合、 再始動要求が同じマシンに行くという保証はありません。 このシナリオでは、長時間実行の配置は異なるマシンに実行するアプリケーション・サーバーに 再始動要求を送信します。 従って、ファイルを基にしたアフィニティーが必要な場合、ジョブの再始動シナリオをサポートする ために以下の解決策が適用されます。
    • データが、バッチ・アプリケーションを開始できるすべてのマシンで等しく使用可能であることを確認します。 例えば、ネットワーク・ファイル・システム (アプリケーションのパフォーマンスが下がる可能性があります) を 介して。
    • ローカル・データが存在するマシンで立ち上げることのみができるアプリケーション・サーバーに アプリケーションをデプロイします。 1 つのメンバー・ノードしか持っていないノード・グループに存在する 動的クラスターにアプリケーションをデプロイすることによって、これを達成することができます。



Related concepts
バッチ・プログラミング・モデル

Concept topic    

Terms of Use | Feedback Last updated: Mar 20, 2006 12:32:00 PM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/scheduler/cxdbatchstp.html

© Copyright IBM 2004, 2006. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)