skip to content
Alvin Lucillo

Durable queue

/ 1 min read

A durable queue means the queue is retained even after restarting the rabbitmq service. In the example below, queue1 survived rabbitmq restart but queue2 did not.

 docker exec -it rabbitmq rabbitmqadmin declare queue --name=queue1 --durable=true

 docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0

 docker stop rabbitmq
rabbitmq

 docker start rabbitmq
rabbitmq

 docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0

 docker exec -it rabbitmq rabbitmqadmin declare queue --name=queue2 --durable=false

 docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0
queue2  0

 docker stop rabbitmq
rabbitmq

 docker start rabbitmq
rabbitmq

 docker exec -it rabbitmq rabbitmqctl list_queues
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name    messages
queue1  0