【发布时间】:2012-01-11 08:00:03
【问题描述】:
在 WebSphere MQ 中清除队列时,使用 clear 命令和 mqget API 调用有什么区别?
【问题讨论】:
-
什么队列? IBM Websphere MQ 队列?
标签: queue message-queue ibm-mq mq
在 WebSphere MQ 中清除队列时,使用 clear 命令和 mqget API 调用有什么区别?
【问题讨论】:
标签: queue message-queue ibm-mq mq
我刚刚验证了 CLEAR 命令还将队列文件的大小减小到任何空队列的大小。
使用 Clear QL,WMQ 也会丢弃队列文件并重新创建它。通常,队列文件的大小在文件空间未使用一段时间后才会减小。
我记得当我们有一个队列填满磁盘时必须这样做。我们没有处理消息,而是清除了队列以同时释放磁盘空间。
【讨论】:
CLEAR 命令发出一个清除队列的命令,而使用 MQGET 命令清除会读取队列直到它为空。
实际上,可以使用 MQGET 清除,而无需获取队列上的排他锁。另一方面,如果队列正在某处使用,CLEAR 命令将失败。
IBM 文档列出的区别如下:
【讨论】: