清除WebSphere MQ中的队列时,使用clear命令和mqget API调用之间的区别是什么?
答案 0 :(得分:5)
CLEAR命令发出一个清除队列的命令,而使用MQGET命令清除时会读取队列,直到它为空。
实际上,可以使用MQGET清除而无需获取队列上的独占锁。另一方面,如果队列在某处使用,则CLEAR命令将失败。
IBM文档列出了如下差异:
答案 1 :(得分:1)
我刚刚验证了CLEAR命令还将队列文件的大小减少回任何空队列的大小。
使用Clear QL,WMQ也会丢弃队列文件并重新创建它。通常,队列文件的大小不会减少,直到文件空间的某个时间间隔未被使用。
我记得当我们有一个队列填满磁盘时必须这样做。而不是处理消息,我们清除队列以同时释放磁盘空间。