Sun Java System Message Queue 3.7 UR1 技術の概要

JMS/J2EE プログラミング: メッセージ駆動型 Beans

第 2 章「クライアントプログラミングモデル」で説明した一般的な JMS クライアントプログラミングモデルのほかに、さらに JMS クライアントに特化したプログラミングモデルがあり、J2EE プラットフォームアプリケーションのコンテキストで使用されます。この特殊なクライアントは、メッセージ駆動型 Beans と呼ばれ、EJB 2.0 以降の仕様 (http://java.sun.com/products/ejb/docs.html) で指定されている Enterprise JavaBeans (EJB) コンポーネント のシリーズの 1 つです。

メッセージ駆動型 Beans は非同期メッセージングを行います。その他の EJB コンポーネント (セッション Beans とエンティティー Beans) は、標準的な EJB インタフェースを通じて同時に呼び出す必要があります。ただし、多くのエンタープライズアプリケーションは、サーバーサイドコンポーネントがサーバーリソースを結びつけずに相互に通信するために、非同期メッセージングを必要とします。サーバーサイドコンポーネントがアプリケーションイベントに応答する必要のあるアプリケーションでは、メッセージのプロデューサにしっかり結合していなくても、メッセージを受信してコンシュームできる EJB コンポーネントが必要になります。エンタープライズアプリケーションでは、負荷が増加する場合、この機能を拡張する必要があります。

メッセージ駆動型 Beans (MDB) は、サポートするコンポーネントに分散サービスを提供する特殊な EJB コンテナによってサポートされる EJB コンポーネントです。

図 5–1 MDB を使用したメッセージング

図は、J2EE 環境内でコンシューミング MDB インスタンスへメッセージを送信する JMS メッセージプロデューサを示す。