第7章 送信者およびレシーバー
クライアントは送信側と受信側のリンクを使用して、メッセージの配信にチャネルを表します。送信者と受信側は一方向で、メッセージの送信元はソースエンド、メッセージの送信先はターゲットエンドとなります。
ソースとターゲットは、多くの場合、メッセージブローカーのキューまたはトピックを参照します。ソースは、サブスクリプションを表すためにも使用されます。
7.1. オンデマンドでキューとトピックの作成
一部のメッセージサーバーは、キューとトピックのオンデマンド作成をサポートします。送信側またはレシーバーが割り当てられている場合、サーバーは送信側のターゲットアドレスまたは受信側ソースアドレスを使用して、アドレスに一致する名前を持つキューまたはトピックを作成します。
メッセージサーバーは通常、キュー (1 対 1 のメッセージ配信用) またはトピック (1 対多のメッセージ配信の場合) を作成します。クライアントは、ソースまたはターゲットに queue
または topic
機能を設定することで、希望のものを指定できます。
キューまたはトピックセマンティクスを選択するには、以下の手順に従います。
- キューとトピックの自動作成のために、メッセージサーバーを設定します。多くの場合、これはデフォルト設定になります。
-
以下の例のように、送信側のターゲットまたは受信側ソースに
queue
またはtopic
機能を設定します。
例: オンデマンドで作成されたキューへの送信
Target target = new Target() { Address = "jobs", Capabilities = new Symbol[] {"queue"}, }; SenderLink sender = new SenderLink(session, "s1", target, null);
Target target = new Target() {
Address = "jobs",
Capabilities = new Symbol[] {"queue"},
};
SenderLink sender = new SenderLink(session, "s1", target, null);
例: 要求時に作成されたトピックからの受信
Source source = new Source() { Address = "notifications", Capabilities = new Symbol[] {"topic"}, }; ReceiverLink receiver = new ReceiverLink(session, "r1", source, null);
Source source = new Source() {
Address = "notifications",
Capabilities = new Symbol[] {"topic"},
};
ReceiverLink receiver = new ReceiverLink(session, "r1", source, null);
詳細は、以下の例を参照してください。