Replies: 1 comment
-
|
The Rabbit MQ default in Wolverine is FanOut and has been for quite a long time. You're getting in trouble because you have things set up for Wolverine to declare any missing objects, which it does by trying to declare the exchange. You merely need to tell Wolverine to declare the Exchange as Topic or turn off auto provisioning. Not a bug. Maybe an opportunity to improve the docs I guess. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Description:
When attempting to bind to an existing RabbitMQ exchange, the system is encountering a type conflict. The exchange is initially declared as "topic" in the Exchanger-Project, but the Receiver-Project is attempting to use it with a default "fanout" type, causing a PRECONDITION_FAILED error. Setup worked for any version before 4.10.1.
Steps to Reproduce:
MessagingConstants.c_MessageResponseExchangerNamewith type "topic" (PublishMessagesToRabbitMqExchange)BindExchangemethodFillDefaultmethod in the Receiver-Project tries to ensure the exchange exists but sets it as "fanout" typewolverine/src/Transports/RabbitMQ/Wolverine.RabbitMQ/Internal/RabbitMqQueue.Bindings.cs
Line 21 in 7543be8
Current Behavior
RabbitMQ.Client.Exceptions.OperationInterruptedException: 'The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406, text='PRECONDITION_FAILED - inequivalent arg 'type' for exchange 'message-response-queue-exchange' in vhost '/': received 'fanout' but current is 'topic'', classId=40, methodId=10'Expected Behavior
The Receiver-Project should be able to bind to the existing exchange without attempting to modify its type. It should use the existing exchange with its current type ("topic") rather than trying to create or modify it as a "fanout" exchange.
Beta Was this translation helpful? Give feedback.
All reactions