MQ - 删除队列中的所有消息

时间:2014-02-25 07:07:19

标签: java jms ibm-mq

我是使用java进行MQ编程的新手。 对于我的集成测试,我想在向其发布任何消息之前清理目标队列。 MQ-Java中是否有任何选项可以一次性删除队列中的所有消息?

2 个答案:

答案 0 :(得分:2)

您可以使用WMQ PCF程序一次性清除队列中的消息。 PCF类提供了以编程方式管理WMQ的接口。有一个示例PCF_ClearQueue.java,用于演示从队列中清除消息。

示例位于(在Windows平台上)\ tools \ pcf \ samples目录中。有关清除队列的更多信息,请参见here

答案 1 :(得分:2)

如果您有权访问runmqsc,那么请使用名为:CLEAR QLOCAL的MQSC命令

注意:如果应用程序打开了队列,那么该命令将失败,PCF命令也将失败。因此,您需要一次从队列中获取所有消息。您可以从http://www.capitalware.com/mq_code_java.html下载一个名为 EmptyQ 的Java程序来完成这项工作。