у меня есть:
- один абонент SUB с QUEUE0
- издатель pub1 с queue1
- издатель PUB2 с QUEUE2
- события MyEvent
публикуемой обоими издательствамиВозможно ли охватить/группу издателей событий в NServiceBus?
Когда:
- SUB явно поддерживает pub1 с именем очереди queue1 только
subscriberEndpointConfiguration.UnicastRouting().AddPublisher("PUB1", typeof(MyEvent));
Результат:
- SUB также прн eives MyEvent
из PUB2 (который имеет имя очереди QUEUE2)
Ожидаемый:
- SUB не должен получать MyEvent
от PUB2, потому что это не подписалось на это имя очереди издателя
От NSB вики:
подписчики выражают интерес к одному или нескольким классам и получают только сообщения, представляющие интерес, без знания того, что, если таковые имеются, есть
Вопросы:
Что точка указания издателя конечной точки в методе
AddPublisher
показано выше? Таблица подписки в хранилище таблиц Azure имеет тип события и только столбцы подписчика, конечная точка издателя не сохраняется.Если
AddPublisher
- это своего рода устаревший метод, тоendpointInstance.Subscribe<MyEvent>()
просто терпит неудачу - он говорит: «издателей не найдено».Возможно ли, чтобы издатели области/группы имели только один тип события
MyEvent
, подписчики получат эти события от издателей, которые созданы только с тем же именем очереди?
E.g. вы создаете PUB1 с QUEUE-A, PUB2 с очередями QUEUE-A, PUB3 с QUEUE-B и SUB сAddPublisher
до QUEUE-A, поэтому SUB не получаетMyEvent
из PUB3 (QUEUE-B).
Я использую:
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 ")'? Я думаю, что каждому издателю будет нужна не только его собственная очередь (для получения в будущих подписных сообщениях), но и ее собственная таблица Persistence для хранения подписки. Я не думаю, что издатели могут делиться таблицей без кровотечения. –