私が持っている:
は - QUEUE0
と1つの加入者SUB - QUEUE1
とパブリッシャPUB1 - キュー2
とパブリッシャPUB2 - イベントMyEvent
両方の出版社NServiceBusでイベントパブリッシャーをスコープ/グループ化することはできますか?
によって公開されているがとき:
は - SUBは、明示的にサブスクライブ - SUBもREC
:キュー名QUEUE1のみ
subscriberEndpointConfiguration.UnicastRouting().AddPublisher("PUB1", typeof(MyEvent));
結果とPUB1 eives期待
(キュー名キュー2を持っている)PUB2からMyEvent
:
- それはNSBのwikiから、その出版社のキュー名
に加入していないので、PUB2からMyEvent
を受けるべきではありませんSUB:
のサブスクライバーは、1つ以上のクラスに関心を示し、興味のあるメッセージのみを受信します(存在する場合は、それが存在する場合)。
質問:
上に示した
AddPublisher
方法で発行者のエンドポイントを指定してのポイントは何ですか? Azureテーブルストレージのサブスクリプションテーブルにはイベントタイプとサブスクライバ列のみがあり、パブリッシャエンドポイントは格納されません。AddPublisher
が時代遅れの方法である場合、endpointInstance.Subscribe<MyEvent>()
は単に失敗します。「パブリッシャーは見つかりませんでした」と表示されます。1つのイベントタイプが
MyEvent
の場合、同じキュー名で作成されたパブリッシャからイベントを受信することは可能ですか?
など。 QUEUE-AのPUB1、QUEUE-AのPUB2、QUEUE-BのPUB3、QUEUE-AのAddPublisher
のSUBを作成するので、SUBはPUB3(QUEUE-B)からMyEvent
を受信しません。
私が使用している:
NServiceBus 6.0.0-beta0004
NServiceBus.Persistence.AzureStorage 1.0.0-beta0004
NServiceBus.Azure.Transports.WindowsAzureStorageQueues 7.0.0-beta0004
Pub1とPub2の両方が同じ「IEndpointInstance」を使用していますか? (基本的に同じホストにあります)。そして、彼らは同じPersistance設定を使用していますか? 'BusConfiguration.UsePersistence()。TableName(" tableName ")'?私は、各パブリッシャーがそれ自身のキュー(来るサブスクリプションメッセージで受信する)を必要とするだけでなく、サブスクリプションを格納する独自の永続性テーブルを必要とすると思います。私は出版社が出血なくテーブルを共有できるとは思わない。 –