分布式消息服务RabbitMQ

自动删除不再使用的队列

2024-06-27 02:51:21

客户端可能连接失败导致队列被残留,大量的残留队列会影响实例的性能。RabbitMQ提供三种自动删除队列的方法:

· 在队列中设置TTL策略:例如TTL策略设置为28天,当持续28天队列未被使用时,此队列将被删除。

· 使用auto-delete队列:当最后一个消费者退出或通道/连接关闭(或与服务器的TCP连接丢失)时,auto-delete队列会被删除。

· 使用exclusive queue:exclusive queue只能在创建它的连接中使用,当此连接关闭或消失时,exclusive queue会被删除。

设置方法如下:

boolean exclusive = true;

boolean autoDelete = true;

channel.queueDeclare(QUEUENAME, durable, exclusive, autoDelete, arguments);


KezrdRYDfU8e