Maybe there is a way to get it using rabbitmqctl or admin (I forgot the name), so there is queue information. Even so, I would not bother.
There are two possible solutions that come to me.
First decision:
In general, if you want to declare an existing queue, it should be with all the correct parameters. So I have a helper function to declare a specific queue (I use the C ++ client, so the API may be different, but I'm sure the concept is the same). For example, if I have 10 subscribers who consume queue1, and each of them must declare a queue in the same way, I will simply write a utility that declares this queue, and this.
There is one thing before the second decision: maybe this is the case when we come to an error that happens too often :) You donβt need a certain queue to receive messages from this queue. You need a queue and the right binding . When sending a message, you really do not send to the queue, but for exchange, sometimes with a routing key, sometimes without it - let them say it. On the receiving side, you need a queue in order to consume a message, so of course you declare one and bind it to the exchange using a routing key. You do not even need to explicitly specify the name of the queue, the server will provide you with a general option so that you can use it when binding.
Second solution: based on the fact that
It is perfectly legal to associate multiple queues with the same key binding (found here https://www.rabbitmq.com/tutorials/tutorial-four-java.html )
In this way, each of your subscribers can handle the queue the way they want, as long as they link correctly. Of course, these are different queues with different names. I would not recommend . This means that each message is sent, for example, in two queues, and most likely a message (I assume that the precedent here needs to be processed only once per subscriber).