パラレル・ジョブ・マネージャーのアプリケーション・プログラミング・インターフェース (API)
以前のリリースのパラレル・ジョブ・マネージャー (PJM) SPI が API になりました。これらは、アプリケーションの一部としてパッケージ化されています。
パラメータライザー API
パラメータライザー API の目的は、最上位レベルのジョブを複数の従属ジョブに分割することです。 パラメータライザー API は、作成する従属ジョブの数、および各従属ジョブに渡される入力プロパティーを決定します。通常、入力プロパティーには、データ・チャンクが特定の従属ジョブを処理する対象の情報が含まれます。パラメータライザー API の実装は必須です。
一般パラメータライザーの基本機能を提供するデフォルトのパラメータライザー API があります。この実装を起動するには、xJCL で com.ibm.websphere.batch.parallel.parameterizer プロパティーを値 com.ibm.ws.batch.parallel.BuiltInParameterizer に設定します。従属ジョブの数を指定するには、入力プロパティー com.ibm.wsspi.batch.parallel.jobs を N に設定します。ここで、N は従属ジョブの数です。特定の従属ジョブ・インスタンスに固有プロパティーを指定するには、プロパティー com.ibm.wsspi.batch.parallel.prop.<property_name>.<subordinate_job>=<value> を使用します。ここで、subordinate_job は従属ジョブ・インスタンス (1< 従属ジョブ < N) です。<property_name>= <value> 形式の他のすべてのプロパティーは、すべての従属ジョブに可視になります。
同期 API
同期 API は、論理トランザクションのさまざまなライフサイクル・ステージにおける制御機能を提供します。例えば、Begin、beforeCompletion、および afterCompletion のライフ・ステージがあります。必要に応じて、これらの制御点を使用し、論理トランザクションをロールバックすることができます。
SubJobCollector API
SubJobCollector API は、従属ジョブ実行に関連する情報を収集します。標準的な実装では、従属ジョブに関する進行情報が、従属ジョブ・コンテキスト内の外部化可能オブジェクトとして保管されます。バッチ・コンテナーがコレクター API を開始すると、従属ジョブ・コンテキスト内に前に保管された情報が返されます。
SubJobAnalyzer API
SubJobAnalyzer API は、SubJobCollector API によってあらかじめ収集された情報の分析に使用されます。標準的な実装では、SubJobAnalyzer API は、すべての従属ジョブから得られた情報を集約し、最上位レベルのジョブに対する総合戻りコードを決定する場合に使用されます。SubJobAnalyzer API は、チェックポイント処理中およびジョブ完了時に呼び出されます。
コンテキスト・オブジェクト
- ParallelJobManagerContext: パラレル・ジョブのスコープ内に存在します。 パラメータライザー API、SubJobAnalyzer API、および同期 API のすべてが、一定のパラレル・ジョブ・インスタンスに関して、このコンテキストにアクセスできます。
- SubJobContext: 従属ジョブのスコープ内に存在します。SubJobCollector、バッチ・アプリケーション・プログラミング・モデル成果物、BatchDataStream、BatchJobStepInterface、CheckpointPolicyAlgorithm、および ResultsAlgorithm のすべてが、一定の従属ジョブ・インスタンスに関して、このコンテキストにアクセスできます。