Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中删除rabbit MQ中的所有消息_Java_Spring_Rabbitmq_Spring Rabbit - Fatal编程技术网

如何在java中删除rabbit MQ中的所有消息

如何在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) 但它不起作用 因

我们有一项工作将在一天结束时运行。 在EOD期间,它将从RabbitMQ读取所有消息并生成一个文件。 成功生成文件后,我们需要删除RabbitMQ中的所有消息。 有没有一种方法可以从Java代码中实现

我们正在使用
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);