構成可能トランザクション・モード
トランザクション・モードを使用して、ジョブ関連の成果物が、 グローバル・トランザクション・モードで呼び出されるか、ローカル・トランザクション・モードで呼び出されるかを定義します。トランザクション・モードは xJCL で指定します。
次のリストで、com.ibm.websphere.batch.transaction.policy プロパティーのオプションについて説明します。
- global
すべてのジョブ関連成果物 (リスナー、バッチ・データ・ストリーム、およびチェックポイント・アルゴリズムを含む) がグローバル・トランザクション・モードで呼び出されるように指定します。 このオプションはデフォルトです。
- local
- すべてのジョブ関連成果物 (リスナー、バッチ・データ・ストリーム、およびチェックポイント・アルゴリズムを含む)
がローカル・トランザクション・モードで呼び出されるように指定します。
ローカル・ジョブ状況表とデータベースの更新は、トランザクションの整合性を維持するために、同じ接続を通して行ってください。
トランザクション・モードの xJCL の例
ジョブ・レベル・プロパティーを指定します。
<job .....
...
<props>
<prop name="com.ibm.websphere.batch.transaction.policy" value="LOCAL"/>
</props>
....
ローカル・トランザクション・モードが指定されたため、
すべてのユーザー・コードが、バッチ・コンテナーと Java™ Database Connectivity (JDBC) 接続を共有する必要があります。
バッチ・コンテナーは、ジョブ・ステップ・コンテキストで JDBC 接続を作成して保存します。
次のコードにより、ジョブ・ステップ・コンテキストをフェッチすることができます。
java.sql.Connection conn = JobStepContextMgr.getContext().getSharedSQLConnection();
JDBC 接続の作成や、ジョブ・ステップ・コンテキストで取得した接続のクローズは試行しないでください。 ローカル・トランザクション・サポートは、 バッチ・データ・ストリーム・フレームワークの JDBC リーダーまたは JDBC ライターのパターンに組み込まれます。 com.ibm.websphere.batch.transaction.policy プロパティーに local を設定すると、 バッチ・データ・ストリーム・フレームワークが強制的に共有 JDBC 接続を使用します。