7.3. 共有サブスクリプションの作成
共有サブスクリプションとは、1 つ以上のメッセージレシーバーを表すリモートサーバーの状態のことです。共有されているので、複数のクライアントは同じメッセージのストリームから消費できます。
クライアントは、レシーバーソースに shared 機能を設定して、共有サブスクリプションを設定します。
共有サブスクリプションは、クライアントコンテナー ID とレシーバー名を組み合わせてサブスクリプション ID を形成することで一意に識別されます。複数のクライアントプロセスで同じサブスクリプションを見つけることができるように、これらの値が安定している必要があります。shared に加えて global 機能が設定されている場合、レシーバー名のみを使用してサブスクリプションを特定します。
共有サブスクリプションを作成するには、以下の手順に従います。
接続コンテナー ID を
client-1などの安定した値に設定します。Connection conn = new Connection(new Address(connUrl), SaslProfile.Anonymous, new Open() { ContainerId = "client-1" }, null);Connection conn = new Connection(new Address(connUrl), SaslProfile.Anonymous, new Open() { ContainerId = "client-1" }, null);Copy to Clipboard Copied! Toggle word wrap Toggle overflow shared機能を設定して、共有用の受信側ソースを設定します。Source source = new Source() { Address = "notifications", Capabilities = new Symbol[] {"shared"}, };Source source = new Source() { Address = "notifications", Capabilities = new Symbol[] {"shared"}, };Copy to Clipboard Copied! Toggle word wrap Toggle overflow sub-1などの安定した名前で受信側を作成し、ソースプロパティーを適用します。ReceiverLink receiver = new ReceiverLink(session, "sub-1", source, null);
ReceiverLink receiver = new ReceiverLink(session, "sub-1", source, null);Copy to Clipboard Copied! Toggle word wrap Toggle overflow
詳細は、SharedSubscribe.cs の例を参照してください。