Есть ли способ отправить сообщение из SendEndpoint для обмена с аргументом alternate-exchange? - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь использовать метод ISendEnpoint.Send для отправки сообщения в обмен RabbitMq с аргументом alternate-exchange, и я не нашел способа установить значение для этого аргумента.
Если я не укажу этоаргумент, я ловлю это исключение:

"RabbitMQ.Client.Exceptions.OperationInterruptedException: операция AMQP была прервана: причина закрытия AMQP, инициированная Peer, code = 406, text =" PRECONDITION_FAILED - неэквивалентноarg 'alternate-exchange' для обмена 'target_queue' в vhost '/': получено нет, но current является значением 'norouted' ".

Как указать этот аргумент?

1 Ответ

0 голосов
/ 24 декабря 2018

Можно изменить топологию публикации сообщения таким образом, чтобы целевой обмен указывал альтернативный обмен и очередь, чтобы опубликованные сообщения без действительного назначения доставлялись альтернативному.

https://github.com/MassTransit/MassTransit/blob/develop/src/MassTransit.RabbitMqTransport.Tests/AlternateExchange_Specs.cs

...