我在应用程序中成功建立了Rabbitmq 3.3.1队列,包括DLX用法。要求是读取DLQ消息,更新它们并重新发送到原始队列。我使用QueueingConsumer,channel.basicConsume和consumer.nextDelivery来读取指定数量的消息。但是 - 读取成功完成后,即使队列中有更多消息,队列也会消失。 DLX声明是:
channel.exchangeDeclare(dlxName,FANOUT,true,false,true,args); channel.queueDeclare(dlqName,true,false,true,args);
代码有什么问题?
答案 0 :(得分:2)
queueDeclare的第三个布尔参数是true
,该参数代表auto delete
,因此当您关闭AMQP连接时,队列将被删除。