如何在java中删除rabbit MQ中的所有消息
我们有一项工作将在一天结束时运行。 在EOD期间,它将从RabbitMQ读取所有消息并生成一个文件。 成功生成文件后,我们需要删除RabbitMQ中的所有消息。 有没有一种方法可以从Java代码中实现 我们正在使用如何在java中删除rabbit MQ中的所有消息,java,spring,rabbitmq,spring-rabbit,Java,Spring,Rabbitmq,Spring Rabbit,我们有一项工作将在一天结束时运行。 在EOD期间,它将从RabbitMQ读取所有消息并生成一个文件。 成功生成文件后,我们需要删除RabbitMQ中的所有消息。 有没有一种方法可以从Java代码中实现 我们正在使用channel.basicGet(QueueName,false) 如果我将autoAck传递为true而不是false,则它将删除消息,但如果在处理过程中出现任何异常,则消息将丢失 为了克服这个问题,我使用了channel.queuepurge(QueueName) 但它不起作用 因
channel.basicGet(QueueName,false)代码>
如果我将autoAck
传递为true而不是false,则它将删除消息,但如果在处理过程中出现任何异常,则消息将丢失
为了克服这个问题,我使用了channel.queuepurge(QueueName)代码>
但它不起作用
因此,我们的要求是,我们需要从队列中读取消息,在成功生成文件后生成一个文件,然后我们需要删除所有消息,否则,如果处理过程中出现任何故障,则我们不应从队列中删除消息,请使用RabbitAdmin清除队列。请注意清除和删除之间的区别
Delete - Delete the queue
Purge - Empty the message of the queue.
很好,如果你能给我们看一些代码。。。。
@Autowired private RabbitAdmin admin;
...
admin.purgeQueue("queueName", false);