数値計算のアプリケーションは、従来の Java 2 Platform Enterprise Edition (J2EE) の要求および応答パラダイムに適切に対応できない、計算主体の処理を実行するアプリケーションです。
以下のセクションでは、非同期 Bean プログラミング・モデルへの拡張に関する追加情報を示します。
<session id="ここに適切な名前を指定します"> <ejb-name>CIController</ejb-name> <home>com.ibm.ws.ci.CIControllerHome</home> <remote>com.ibm.ws.ci.CIController</remote> <ejb-class>com.ibm.ws.ci.CIControllerBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Bean</transaction-type> <resource-ref id="WorkManager_ResourceRef"> <description> WorkManager that is used to execute jobs. <res-ref-name>wm/CIWorkManager</res-ref-name> <res-type>commonj.work.WorkManager</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope>
数値計算のアプリケーションのためのロジック、いくつかの CIWork オブジェクト、 およびそれらの CIWork オブジェクトをサポートするために必要なクラス は、J2EE アプリケーションの Enterprise Archive (EAR) ファイルの エンタープライズ Bean モジュールにパッケージされています。 エンタープライズ Bean モジュールのデプロイメント記述子には、 前述のステートレス・セッション Bean の定義が含まれていなければならないことに注意してください。 アプリケーション自体が他のエンタープライズ Bean またはリソースを使用する場合、 これらの Bean の定義およびリソースもまたデプロイメント記述子に出力される可能性があります。 IBM Rational Application Developer のような J2EE 開発ツールは、 エンタープライズ Bean モジュールおよび非同期 Bean を含む J2EE アプリケーション を構成する場合と同じように使用して、数値計算アプリケーションの開発、 パッケージを行うことができます。
run() メソッドが戻る前にジョブが取り消されると、CIControllerBean は別のスレッド で CIWork オブジェクトの release() メソッドを呼び出します。run() メソッドを直ちに戻させるロジックを release() メソッドに配置することは、長時間実行アプリケーションの開発者の担当範囲となります。run() メソッドが戻るまで、ジョブはキャンセル保留 状態を維持します。
ジョブがキャンセルされず、run() メソッドが例外を返さずに戻った場合、 ジョブは正常に完了します。run() メソッドが例外をスローした場合、ジョブの状況は実行の失敗 になります。 run() メソッドが (正常に、または例外を返して) 戻った場合、 CIWork オブジェクトはこれ以上呼び出されず、オブジェクトへの参照はすべて除去されます。
すべての長時間実行ジョブと同様、数値計算のジョブは複数のジョブ・ステップに分割されます。 数値計算のジョブの場合、それぞれのジョブ・ステップは com.ibm.websphere.ci.CIWork インターフェースを実装するクラスのインスタンスによって表されます。 CIWork インターフェースは、アプリケーション・サーバーの非同期 Bean プログラミング・モデル および Java Specification Request (JSR) 237 から commonj.Work 作業インターフェースを拡張します。 これらの拡張機能は 2 つのメソッドからなり、ジョブで指定されたジョブ・ステップ特定の プロパティーを CIWork オブジェクトに受け渡す方法を提供します。
詳しくは API 資料を参照してください。
非同期 Bean について学習するには、WebSphere Application Server インフォメーション・センターの 『非同期 Bean の使用』セクションを参照してください。