Essentially, you want to use RabbitMQ to buffer messages waiting in a queue set (which is what the message queuing system does by definition). :)
Assuming that you know your lineup is from the consumer, you will not have any problems. There is no restriction that a manufacturer cannot create a queue. As a warning, when the queues end, all messages in the queue are discarded (or, optionally, they can be configured to go into the dead letter queue).
What code have you tried?
Edit
After further clarification (from your comment), you are looking for a โuse patternโ against publishing wildcards. RabbitMQ does not currently support this topology ( this post is requesting a similar feature).
What you need to do is periodically list the queues (using the RabbitMQ API); After that, your application can decide which of them to use. When the queue is deleted, the consumer closes automatically.
Special Note It should be understood that what is defined here is an anti-pattern. A typical behavior of a system using queues is to route messages in a queue based on content. Thus, a properly organized system will have a set of workers working in one or more statically defined queues. Different workers may take different lines, depending on specialization. When a series of interactions leads to the publication of messages in the queue, workers assigned to the queues will process messages in the first-time mode (but, as this post discusses, an order cannot be guaranteed with multiple consumers). Then the desired behavior of the system arises as a composition of workers performing various functions working in queues.
source share