Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Ibm mq 如何避免MQRC2033无可用消息_Ibm Mq - Fatal编程技术网

Ibm mq 如何避免MQRC2033无可用消息

Ibm mq 如何避免MQRC2033无可用消息,ibm-mq,Ibm Mq,我有一个简单的程序来处理队列中的消息。 我的意图是处理队列中的所有可用消息,并且仍然侦听队列中的传入消息 我已经在无限循环中编写了处理部分,因为我希望它始终侦听队列并处理消息 再次处理所有消息后,它会尝试从队列中获取消息(因为它位于无限循环中),然后再从那里获取消息 没有消息它抛出MQRC 2033 no_MSG_AVAILABLE异常(事实上它是正确的)并且我的程序退出 有人能想出一个办法来持续侦听此队列并避免此异常。当您执行MQGETAPI调用时,有一个让程序等待消息的选项。您可以指定等待时

我有一个简单的程序来处理队列中的消息。 我的意图是处理队列中的所有可用消息,并且仍然侦听队列中的传入消息

我已经在无限循环中编写了处理部分,因为我希望它始终侦听队列并处理消息

再次处理所有消息后,它会尝试从队列中获取消息(因为它位于无限循环中),然后再从那里获取消息

没有消息它抛出MQRC 2033 no_MSG_AVAILABLE异常(事实上它是正确的)并且我的程序退出


有人能想出一个办法来持续侦听此队列并避免此异常。

当您执行
MQGET
API调用时,有一个让程序等待消息的选项。您可以指定等待时间(以毫秒为单位)或指定永远等待。只要确保如果你让应用程序等待超过几秒钟,还要指定“如果停止则失败”。这允许干净地停止队列管理器。如果没有“如果停止则失败”,管理员将需要发出可能导致问题的抢先关闭


本章的《程序员指南》中有一节专门针对这个问题。根据您所使用的语言,要指定的实际值在、手册或手册中。当您单击上面的链接时,导航面板中将显示所有这些内容。

谢谢。。我在get选项中指定了MQWI_UNLIMITED。。一切如期进行,非常感谢。