バッチ・コントローラー Bean
バッチ・アプリケーションは、そのデプロイメント記述子内で特殊なステートレス・セッション Bean を宣言する必要があります。 この Bean はバッチ・ジョブ・コントローラーとして機能します。
各アプリケーションには、コントローラー Bean を 1 つだけ含めることができます。 コントローラー Bean は 1 つの作業クラスに 1 つだけ含めることができ、バッチ・アプリケーションは 1 つの作業クラスのみを定義することができます。 この単一の作業クラスは、アプリケーションのインストール時に作成されます。 この作業クラスは、任意の目標タイプまたはキュー時間目標タイプを持つ任意のサービス・ポリシーと関連付けることができます。 この Bean の実装は、バッチ・アプリケーションではなく、製品によって提供されます。 この Bean は、バッチ・アプリケーションのデプロイメント記述子で宣言する必要があります。 バッチ・アプリケーションごとにコントローラー Bean を 1 つだけ定義できます。 コントローラー Bean で宣言されたリソース参照および EJB 参照は、そのコントローラー Bean が宣言されたバッチ・アプリケーションのバッチ・データ・ストリームで使用することができます。 例えば、アプリケーションのバッチ・データ・ストリームが WebSphere® Application Server データ・ソースにアクセスする必要がある場合は、そのデータ・ソースへのリソース参照をコントローラー Bean で宣言することで、バッチ・データ・ストリームが実行時に java:comp/env 名前空間でそのデータ・ソースを検索できるようになります。
制約事項
- ホーム・インターフェースは、com.ibm.ws.batch.BatchJobControllerHome でなければなりません。
- リモート・インターフェースは、com.ibm.ws.batch.BatchJobController でなければなりません。
- EJB クラスは、com.ibm.ws.batch.BatchJobControllerBean でなければなりません。
- トランザクション・タイプとしては、Bean またはコンテナーを使用できます。
- セッション・タイプはステートレスである必要があります。
- バッチ・アプリケーションごとにバッチ・コントローラー・ステートレス・セッション Bean が 1 つだけ存在可能です。
以下に示すのは、バッチ・コントローラー・ステートレス・セッション Bean を示すデプロイメント記述子の例です。
<session id="BatchController>
<ejb-name>BatchController</ejb-name>
<home>com.ibm.ws.batch.BatchJobControllerHome</home>
<remote>com.ibm.ws.batch.BatchJobController</remote>
<ejb-class>com.ibm.ws.batch.BatchJobControllerBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
<resource-ref id="ResourceRef_1117024737807">
<description></description>
<res-ref-name>wm/BatchWorkManager</res-ref-name>
<res-type>commonj.work.WorkManager</res-type>
<res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</session>