アプリケーションによるバス宛先へのメッセージの送受信を制御する
アプリケーションが、宛先にメッセージを送信したり、宛先からメッセージを受信したりしないようにできます。 これには、宛先の「受信許可」、「送信許可」、および「排他的受信」プロパティーを使用して、宛先へのアクセスを制御します。 これらのプロパティーの変更を保存すると、 その宛先のローカリゼーション・ポイントに接続しているオープンのプロデューサーおよびコンシューマーに影響が及びます。
このタスクについて
バス宛先の構成プロパティーを変更して、アプリケーションが宛先との間でメッセージを送受信できるのかどうかを制御するには、このタスクを実行します。 例えば、いくつかの宛先はメディエーションと関連付ける目的のためだけに存在します。アプリケーションは、そのような宛先への送信、またはそのような宛先からの受信は実行できません。
加えた変更はバス宛先の構成に影響を及ぼし、保存時にその宛先のすべてのメッセージ・ポイントに自動的に適用されます。 同じ変更を個々の宛先ローカリゼーション・ポイントに行い、その 1 つのポイントのみにアクセスを制御することができます。
バス宛先へのアクセスに影響を及ぼす変更を保存すると、その宛先のメッセージ・ポイントに接続するプロデューサーまたはコンシューマーに影響が及びます。 プロデューサーまたはコンシューマーごとに、 既存の操作はすべて完了することが許可されます (ただし、以下で説明する 1 つの例外を除きます)。次に、プロデューサーまたはコンシューマーには宛先に適合するために状態変更が行われ、 以後の操作は例外を発生して失敗します。例外メッセージは、その例外の具体的な理由を示します。 すなわち、その宛先がメッセージの送受信を受け入れなくなったということを示します。
この振る舞いが発生しないのは、receiveWithWait() メソッドを使用した場合のみです。コンシューマーに対して状態変更が行われると、受信のブロッキングは取り消され、例外がスローされます。それにより、構成の変更時に未解決であった receiveWithWait() メソッドは、完了することができません。 ただしそれでも、この例外は構成の変更に伴って非同期的に発生します。