I'm switching legacy spring application to spring boot.
There is an issue with migrating rabbitmq code using spring cloud stream rabbitmq.
In the legacy system, rabbitmq queue is set up by giving exchange, routingKey and queue name.
For instance,
exchange name = mq-test.topic
routingKey = mq-test
queueName = aa.mq-test
So in rabbitmq management view I can see that exchange is mq-test.topic, queue is aa.mq-test.
But with spring cloud stream, queue name is dotted with destination like
mq-test.topic.aa.mq-test
My properties for spring cloud stream is like this.
spring.cloud.stream.bindings.channelName.destination=mq-test.topic
spring.cloud.stream.bindings.channelName.producer.bindingRoutingKey=mq-test
spring.cloud.stream.bindings.channelName.producer.requiredGroups=aa.mq-test
I also used routingKeyExpression property on behalf of bindingRoutingKey but the result is the same.
There are legacy applications consuming the data via the queue names and my new application is only producing so I can't change the exchange and queue name policy.
How can I keep the exchange/queue naming with spring cloud stream?
any help is appreciated.