非同期メッセージングを使用するためのプログラミング
Java™ Message Service (JMS) API を、非同期メッセージング・サービスの提供に直接使用するエンタープライズ・アプリケーションをビルドすることができます。 また、非同期メッセージ・コンシューマーとしてメッセージ駆動型 Bean を使用することもできます。 WebSphere® Application Server と IBM MQ との間で相互運用するメッセージング・プログラムを記述している場合、考慮すべき環境上の違いがいくつかあります。
このタスクについて
エンタープライズ・アプリケーションは、JMS 宛先上のメッセージを明示的に直接ポーリングし、ビジネス・ロジック Bean (エンタープライズ Bean) で処理するメッセージを検索できます。
メッセージ駆動型 Bean は、非同期メッセージ・コンシューマーとして使用することもできます。 メッセージが宛先に到着すると、EJB コンテナーによってメッセージ駆動型 Bean が自動的に呼び出されます。この際、アプリケーションは宛先を明示的にポーリングする必要はありません。
手順
非同期 Bean - WebSphere Trader のサンプル・アプリケーション
非同期 Bean - WebSphere Trader サンプル・アプリケーションでは、
以下のような非同期 Bean および Java Platform, Enterprise Edition (Java EE) サービスを使用した、
ストリーミング株式チッカー・サーバーおよびクライアントの実装方法を例示します。
- サーブレット
- Java Message Service (JMS)
- Session エンタープライズ Bean
- コンテナー管理パーシスタンス (CMP) 2.0 エンタープライズ Bean
- メッセージ駆動型 Bean (MDB)
このサンプルでは、サーバーの使用率を最大化するために以下のいくつかのパーツを使用します。
- 作業 - スレッドで Java EE コンテキスト対応コードを実行します。
- アラーム - 指定された時間間隔で Java EE コンテキスト対応コードを実行します。
- EventSource - 登録されたリスナーへのイベントのブロードキャストのメソッド。
- SubsystemMonitor - 非同期システムの状況をモニターし、 登録されたリスナーに EventSource メソッドを使用してシステム状況を通知するスレッド。
- WorkManager - 各種非同期 Bean パーツによって使用されるスレッド構成および Java EE コンテキスト・ポリシー。
- AsynchScope - 関係をサポートするアラーム、サブシステム・モニター、 およびその他の非同期スコープの集合。このコレクションは、単一 WorkManager スレッドを使用し、 イベント・ソースでもあります。
- 開始 Bean - アプリケーション開始時のブートストラッピング非同期作業をサポートする特殊な Stateful Session エンタープライズ Bean。
このサンプルは、インフォメーション・センターのサンプル・セクションから入手可能です。