WebLogic JMS では、1 つの分散送り先セットのメンバーとして複数の物理的送 り先 ( キューおよびトピック ) をコンフィグレーションできるため、クラスタ内 の WebLogic Server インスタンスで障害が発生してもサービスを継続することが できます。このようにコンフィグレーションすると、プロデューサおよびコン シューマは、1 つの送り先のように見える送り先を介してメッセージを送受信し ます。
しかし実際には、メッセージングの負荷が分散送り先内のすべての送り先メン バーに分散されます。サーバの障害などによって使用できない送り先メンバーが ある場合は、セット内の他の送り先メンバーにトラフィックがリダイレクトされ ます。
3 メッセージ駆動型 Bean の設計
3-18 WebLogic エンタープライズ JavaBeans プログラマーズガイド
このリリースから、MDB がクラスタ内のサーバにデプロイされると、
WebLogic Server は分散送り先のメンバーを自動的に列挙し、MDB が各メン バーで必ずリスンするようにします。
MDB がクラスタ内のサーバにデプロイされると、WebLogic Server は分散送り 先のメンバーを自動的に列挙し、MDB が各メンバーで必ずリスンするようにし ます。
次の手順に従って、分散送り先に対してメッセージ駆動型 Bean をコンフィグ レーションします。
1.「分散送り先のコンフィグレーション」の説明に従って、メッセージ駆動型
Bean をコンフィグレーションします。
2. weblogic-ejb-jar.xmlで MDB の destination-jndi-name を、分散トピック またはキューを JNDI ネームスペースにバインドするための名前に設定しま す。
3. MDB の対象を分散送り先の対象と同じものにします。 分散送り先が存在する
場合は、MDB をデプロイする必要があります。
4. MDB をデプロイします。
デプロイ時に、MDB は WebLogic Server インスタンス上に存在する分散送り先 のメンバーを検出し、自身をそのメンバーに固定し、メッセージの処理を開始し ます。
メッセージ駆動型 Bean のセキュリティ ID のコンフィグレーション
メッセージ駆動型 Bean (MDB) が JMS キューまたはトピックからメッセージを 受信する場合、EJB コンテナは資格マッピング プロバイダおよび資格マップを 使用して、JMS 接続を確立するときに使用するセキュリティ ID ( ユーザ名とパ スワード ) を取得します。 資格マッピングは、MDB 開始時の 1 回だけ行われま す。 EJB コンテナが接続すると、JMS プロバイダはセキュリティ ID を使用して、
すべてのメッセージを取得します。 セキュリティ ID は、MDB を使用して非
メッセージ駆動型 Bean のセキュリティ ID のコンフィグレーション
BEA JMS プロバイダ ( 別のベンダの JMS プロバイダまたは別の WebLogic
Server ドメイン内で動作している WebLogic Server JMS プロバイダ ) からメッ
セージを受信するときに特に重要です。
MDB のセキュリティ ID をコンフィグレーションするには、次の手順に従いま す。
1. MDB 用の WebLogic ユーザを作成します。 詳細については、『WebLogic リ
ソースのセキュリティ』の「ユーザとグループ」を参照してください。 この
WebLogic ユーザには、非 BEA JMS プロバイダが JMS 接続を確立するため
に必要なユーザ名およびパスワードを指定します。
2. WebLogic Server Administration Console の左ペインで、[ デプロイメント ] を
展開します。
3. [デプロイメント ] ノードを展開すると、デプロイ可能な WebLogic リソース のタイプが表示されます。
4. 資格マップを作成する EJB リソース ( この場合は MDB) を右クリックしま す。
5. [個別の Bean のポリシーとロールを定義 ...] オプションを選択します。
6. 資格マップを作成する MDB に対応する [ 資格マップを定義 ] リンクをク リックします。
7. 手順 1 で MDB 用として定義した WebLogic Server ユーザ名およびパスワー ドを [WLS ユーザ ] フィールドに入力します。
8. [適用 ] をクリックして変更を保存します。
3 メッセージ駆動型 Bean の設計
3-20 WebLogic エンタープライズ JavaBeans プログラマーズガイド