アプリケーションによるバス宛先へのメッセージの送受信を制御する

アプリケーションが、宛先にメッセージを送信したり、宛先からメッセージを受信したりしないようにできます。 これには、宛先の「受信許可」「送信許可」、および「排他的受信」プロパティーを使用して、宛先へのアクセスを制御します。 これらのプロパティーの変更を保存すると、 その宛先のローカリゼーション・ポイントに接続しているオープンのプロデューサーおよびコンシューマーに影響が及びます。

このタスクについて

バス宛先の構成プロパティーを変更して、アプリケーションが宛先との間でメッセージを送受信できるのかどうかを制御するには、このタスクを実行します。 例えば、いくつかの宛先はメディエーションと関連付ける目的のためだけに存在します。アプリケーションは、そのような宛先への送信、またはそのような宛先からの受信は実行できません。

加えた変更はバス宛先の構成に影響を及ぼし、保存時にその宛先のすべてのメッセージ・ポイントに自動的に適用されます。 同じ変更を個々の宛先ローカリゼーション・ポイントに行い、その 1 つのポイントのみにアクセスを制御することができます。

バス宛先へのアクセスに影響を及ぼす変更を保存すると、その宛先のメッセージ・ポイントに接続するプロデューサーまたはコンシューマーに影響が及びます。 プロデューサーまたはコンシューマーごとに、 既存の操作はすべて完了することが許可されます (ただし、以下で説明する 1 つの例外を除きます)。次に、プロデューサーまたはコンシューマーには宛先に適合するために状態変更が行われ、 以後の操作は例外を発生して失敗します。例外メッセージは、その例外の具体的な理由を示します。 すなわち、その宛先がメッセージの送受信を受け入れなくなったということを示します。

この振る舞いが発生しないのは、receiveWithWait() メソッドを使用した場合のみです。コンシューマーに対して状態変更が行われると、受信のブロッキングは取り消され、例外がスローされます。それにより、構成の変更時に未解決であった receiveWithWait() メソッドは、完了することができません。 ただしそれでも、この例外は構成の変更に伴って非同期的に発生します。

手順

  1. サービス統合 ->「バス」 -> 「bus_name -> [宛先リソース (Destination resources)]「宛先 (Destinations)」 -> 「destination_nameをクリックします。
  2. オプション: 以下のプロパティーを 1 つ以上変更します。
    受信許可
    このチェック・ボックスをクリアすると (このオプションを false に設定)、メッセージが、この宛先のメッセージ・ポイントで受信されないようになります。 影響は宛先のタイプによります。
    • キュー・ポイント。コンシューマーがメッセージを要求したとき、オープンしているいずれかのコンシューマーの状態が変化すると例外がスローされます。
    • 公開ポイント。公開ポイントのメッセージング・エンジンに公開されたすべてのメッセージは、ローカル・コンシューマーまたは他のメッセージング・エンジンのいずれにも進むことができなくなります。 ローカル・コンシューマーは、キュー・ポイントについて同じ例外を取得します。
    • メディエーション宛先のメディエーション・ポイント。バスはメディエーション・ポイントに対してローカルに実行されているメディエーション・インスタンスを停止します。他のメッセージング・エンジン上で実行されているメディエーションの他のインスタンスは、通常どおり続行されます。

    どの場合にも、メッセージは引き続き送信可能で、宛先ローカリゼーション・ポイント上に累積されます。

    送信許可
    このチェック・ボックスをクリアすると (このオプションを false に設定)、メッセージが、この宛先のメッセージ・ポイントで受け入れられないようになります。
    • 仲介されていない宛先のキュー・ポイント、または仲介された宛先のメディエーション・ポイントの場合、(接続されたプロデューサーの、または別の宛先から転送された) 新規メッセージは使用可能なメッセージ・ポイントにリダイレクトされます。 使用可能なメッセージ・ポイントがない場合、このバス上で既に受け入れられたメッセージ、および接続されたプロデューサーからの新規メッセージは、メッセージ・ポイントが使用可能になるまで、バスによって保持されます。これに対する例外は、プロデューサーが同じメッセージング・エンジンに接続されるメッセージ・ポイント (宛先が仲介されているか否かに応じてキュー・ポイントまたはメディエーション・ポイント) を 1 つだけ持つ宛先の場合のみです。 この場合、例外が各送信呼び出しでスローされます。 この例外メッセージは、唯一の現存するローカライズが送信用に使用不可であることが例外の理由であることを示します。 プロデューサーは通常どおりオープンされたままで、ローカライズの「送信許可」プロパティーが再選択 (true にリセット) されている場合には、送信呼び出しは引き続き正常に行われます。
    • 仲介された宛先のキュー・ポイントの場合、 この送信許可プロパティーをクリアすると、宛先に送信を行っているメディエーション・インスタンスの振る舞いが変わります。仲介されていない宛先上でこれを false に設定するとメッセージが代わりのメッセージ・ポイントに送信されるという、生成アプリケーションへの影響と同じ方法です。使用可能なローカライズがない場合、メッセージは、メッセージ・ポイントが使用可能になるまでバスによって保持されます。メディエーション・インスタンス (つまり、メディエーション・ポイントを持つサーバー上にあるもの) については、同じサーバーがキュー・ポイントをホストし、そのキュー・ポイントがその宛先の唯一のキュー・ポイントである場合、そのメディエーションは「stopped on error」状態に変わります。
    • 公開ポイントの場合、この「送信許可」プロパティーをクリアすると、トピック・スペースにローカルに接続されたアプリケーションがメッセージを公開しなくなります。 送信呼び出しは例外を受信し、プロデューサーはオープンのままになります。
    排他的受信
    このチェック・ボックスを選択する (このオプションを true に設定する) 場合、1 つのコンシューマーだけが任意のメッセージ・ポイントに接続できます。このプロパティーは、特にキューとの使用を目的としていますが、どのようなタイプの宛先でも使用することができます。
    • キューの場合、このバスはコンシューマー作成の要求ごとにキュー・ポイントを選択します。選択済みキュー・ポイントが接続されたコンシューマーを既に持っている場合、この呼び出しは例外 (その障害の種類を正確に示す例外メッセージおよび リンクされた例外を含む) で失敗します。例外がスローされる前に、すべての使用可能なキュー・ポイントが使用されるという保証はありません。
    • トピック・スペースの場合、1 つのコンシューマーのみが、所定のメッセージング・エンジンに接続することができます。

    「排他的受信」プロパティーを false から true に変更する場合、いくつかのコンシューマーは規則に従って排他的受信側となるように 選択されます。その他のすべてのコンシューマーは、「受信許可」プロパティーが true から false に遷移した場合の説明と同じ方法で、宛先から切り離されます。

  3. 「OK」をクリックします。
  4. 変更をマスター構成に保存します。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjo0022_
ファイル名:tjo0022_.html