Ibm mq 在Node.js中为ibm mq创建mq侦听器

Ibm mq 在Node.js中为ibm mq创建mq侦听器,ibm-mq,Ibm Mq,嗨,我从这个链接关注amqsgeta.js。 我的要求是在Node.js中创建一个队列侦听器,它应该持续侦听队列并获取消息,并在消息到达该队列时进行一些处理。我可以使用MQC.MQWI_UNLIMITED选项实现这一点 gmo.Options = MQC.MQGMO_NO_SYNCPOINT | MQC.MQGMO_WAIT | MQC.MQGMO_CONVERT | MQC.MQGMO_FAIL_I

嗨,我从这个链接关注amqsgeta.js。 我的要求是在Node.js中创建一个队列侦听器,它应该持续侦听队列并获取消息,并在消息到达该队列时进行一些处理。我可以使用MQC.MQWI_UNLIMITED选项实现这一点

gmo.Options = MQC.MQGMO_NO_SYNCPOINT |
                MQC.MQGMO_WAIT |
                MQC.MQGMO_CONVERT |
                MQC.MQGMO_FAIL_IF_QUIESCING;
  gmo.MatchOptions = MQC.MQMO_NONE;

  **gmo.WaitInterval = MQC.MQWI_UNLIMITED;**

此选项将保持连接打开,直到应用程序重新启动。在Node.js应用程序中是否有更好的方法执行此操作。

您不喜欢您提到的解决方案的哪些方面,以便我们知道建议哪些替代方案?例如,如果您不想要无限的、因此是不可中断的等待,您可以编写一个固定的等待,并在while循环中运行所有的等待,然后您可以测试是否希望在每次get从等待中中断时中断。我不确定MQC.MQWI_UNLIMITED选项会这样运行多长时间。是否存在连接保持打开而不接收任何消息的最长时间限制。比如说15天没有消息,然后消息开始出现。??无限意味着它将永远等待,或者直到出现故障,例如网络连接丢失或队列管理器被回收。使用unlimited确实意味着您无法优雅地“唤醒”您的应用程序。如果您选择在while循环中进行有限的等待,那么您可以更轻松地唤醒应用程序。无论您选择做什么,您都应该确保为我上面提到的失败案例编写代码。不管怎样,这些都会发生。如果您的应用程序是一个简单的应用程序,那么使用MQCNO_RECONNECT可能就是您所需要做的全部工作。非常感谢您帮助我理解失败案例。我在找这个信息。