Websphere MQ系列 - MQGMO_WAIT

时间:2014-01-21 16:39:00

标签: java jms ibm-mq

我即将重构为websphere MQ编写的代理应用程序。在现有应用程序中,在从队列中读取消息时,正在设置以下选项:

MQConstants.MQGMO_WAIT和

waitInterval = 1000(毫秒)。

在我们的应用程序中,无法保证每秒都会收到一条消息。我们可能连几个小时都收不到消息。我不确定为什么这个应用程序的创建者选择使用waitInterval = 1000而不是将waitInterval设置为MQWI_UNLIMITED。 目前,代码中有一个catch块,当MQException.MQRC_NO_MSG_AVAILABLE发生时,它不执行任何操作。

这个应用程序的创建者真的很聪明,所以我不知道为什么他们选择这种方法。我是MQ系列的新手,所以有人可以解释一下这背后的原因吗?

1 个答案:

答案 0 :(得分:1)

它只是每秒检查队列中的消息。通过在线程中使用异步消息传递等功能,您可以更加智能化使用MQ的一些新功能,这些功能不会对队列进行大量轮询。