如何在c ++中等待mqwi_unlimited之类的消息

时间:2014-07-08 14:24:38

标签: c++ ibm-mq

我是WebsphereMQ C ++的新手。我想问一下如何无限期地等待传入消息,而不使用 WaitInterval(MQWI_UNLIMITED),因为当我使用这个mqwi_unlimited时,它会按预期等待很长时间但是应用程序是喜欢"挂"进入获取消息的循环 (queue.get(msg,gmo))

我正在考虑将等待间隔设置为几秒钟,然后重新连接或类似的东西。有可能吗?

如何在不收到错误"没有可用消息(MQRC 2033)的情况下等待消息?"

我问这个问题的原因是我正在创建一个等待消息然后执行某个过程的守护进程。该应用程序是" stack"只有在收到消息时,我才尝试替换(MQWI_UNLIMITED)并继续进行下一个过程..

// ==== DAEMON === //

rcv->开始(); - 这是get(获取消息的循环)

snd->开始(); - 这是放置

让我们说应用程序开始获取并处理消息但在此之后它永远不会执行 snd-> start()

请帮帮我。谢谢:))

1 个答案:

答案 0 :(得分:2)

  

我想问一下如何无限期地等待收到的消息,   不使用WaitInterval(MQWI_UNLIMITED)

IS 你如何无限期地等待。

您可以使用回调方法获取消息,查看MQCB API调用。