-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Labels
Description
I am implementing applications that communicate purely using AMQP 1.0. While I want to use RabbitMQ as AMQP broker, the applications are unaware of rabbitmq entirely.
I use a fanout exchange in RabbitMQ to deliver broadcast messages to all clients. To do so, I subscribe to the AMQP address /exchange/<name of exchange>. This creates a new queue in RabbitMQ and binds it to the correct exchange. So far, this works and messages arrive at all clients.
However, once a client disconnects, that queue stays around. According to rabbitmq/rabbitmq-amqp1.0#22, this seems intentional, but I don't understand the reasoning:
- Since the queue's name is auto-generated, nobody has the queue name and reconnecting to the queue is impossible.
- Even when the same client reconnects, a new queue is generated.
- The generated queue fills up with messages that will never be received, since nobody will ever connect to it again.
- The queues disappear when RabbitMQ is restarted.
IMO, these queues should be auto-delete. What is the reason that they are not?
jrk94, MatthewFergus, timbrando and strayge