我在使用Node.js客户端和IBM MQ 8.0.0.3服务器时遇到了问题。
我的Node.js应用程序接收消息很好,但如果我让应用程序空闲几个小时(在这个特定的实例中我让它空闲,没有收到任何消息,大约17个小时),然后发布一条新消息MQ服务器,客户端没有任何内容。
我已经为mqlight客户端可以发出的所有事件注册了侦听器(除了drain,客户端只是一个接收器),并且在这17个小时内没有发出任何事件。客户端计算机上的Netstat显示我仍然与端口5672上的MQ服务器建立了连接。
如果我重新启动客户端应用程序,则会立即显示消息。
我缺少一些设置或配置吗?我需要能够依赖它,如果应用程序正在运行并连接,它将收到消息,我不想求助于定期重新连接客户端作为解决方法。
我的客户使用的相关选项:
clientOptions.service = 'amqp://mqserver';
clientOptions.id = 'nodejsclient';
subscribeOptions.autoConfirm = false;
subscribeOptions.qos = 1;
subscribeOptions.ttl = 24*60*60*1000; //24 hours TTL
答案 0 :(得分:0)
您表明您拥有MQ v 8.0.0.3,但您需要MQ版本8.0.0.4才能获得MQ Light支持。
您可以尝试8.0.0.4来查看是否能解决您的问题吗?您需要从Passport Advantage安装完整版本的MQ 8.0.0.4,而不是将fixpack 4添加到现有的MQ 8安装中。
了解详情:MQ support for MQ Light and AMQP 1.0 released in 8.0.0.4