Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)

[目次][用語][索引][前へ][次へ]

7.10.3 Message-driven Beanで必要な設定

Message-driven Beanの動作は,Message-driven Beanの属性として設定します。送信先の情報,メッセージの確認応答モード,およびメッセージセレクターなどが設定できます。属性は,DDまたはMessageDrivenBean属性ファイルの<activation-config>タグで設定します。詳細は,「7.12 DDでの定義」およびマニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「3.6 MessageDrivenBean属性ファイル」を参照してください。

ここでは,主な設定項目について説明します。

<この項の構成>
(1) 送信先の設定
(2) メッセージの確認応答モードの設定
(3) メッセージセレクターの設定

(1) 送信先の設定

Message-driven Beanと関連づける送信先の種類として,キュー(javax.jms.Queue)またはトピック(javax.jms.Topic)のどちらかを設定します。トピックと設定した場合は,さらに永続化サブスクライバーを使用するかどうかも設定します。

送信先をキューとした場合,または永続化サブスクライバーを使用する設定にした場合は,Message-driven Beanが動作するJ2EEアプリケーションが動作していないときなどには送信先がメッセージを保持します。

送信先をトピックとして永続化サブスクライバーを使用しない設定にした場合は,Message-driven Beanが動作するJ2EEアプリケーションが動作していないときに送信されたメッセージはMessage-driven Beanに配信されません。

送信先の種類や永続化サブスクライバーについては,「7.4 メッセージングモデルの種類」を参照してください。

(2) メッセージの確認応答モードの設定

メッセージの確認応答モードとして,AUTO_ACKNOWLEDGEまたはDUPS_OK_ACKNOWLEDGEのどちらかを設定します。それぞれのモードの詳細については,JMS仕様を参照してください。

メッセージの確認応答は,コンテナが実行します。トランザクションをCMTで管理している場合,確認応答はトランザクションをコミットする処理の一部として実行されます。BMTで管理している場合は,トランザクションとは別に,コンテナによって承認処理が実行されます。なお,確認応答をAPIで実行する実装はしないでください。

(3) メッセージセレクターの設定

メッセージセレクターとして,Message-driven Beanが受信するメッセージの選択基準を設定します。これによって,メッセージプロパティに特定の値が設定されたメッセージだけを受信して,Message-driven Beanを動作させることができます。

メッセージセレクターについては,「7.6 メッセージセレクターによる受信メッセージの選択」を参照してください。