在IBM MQ中重用JMSContext
我正在尝试重用在IBM MQ中重用JMSContext,jms,ibm-mq,jmscontext,Jms,Ibm Mq,Jmscontext,我正在尝试重用JMSContext,以使用本文所示的相同上下文发送多条消息 重新连接的工作原理如下(另请参见@JoshMc的评论): 在客户端上,按如下方式设置重新连接选项: cf.setIntProperty(CommonConstants.WMQ_CLIENT_RECONNECT_OPTIONS, CommonConstants.WMQConstants.WMQ_CLIENT_RECONNECT); endmqm -r 在服务器上,按如下方式停止队列管理器: cf.setIntPro
JMSContext
,以使用本文所示的相同上下文发送多条消息
重新连接的工作原理如下(另请参见@JoshMc的评论):
cf.setIntProperty(CommonConstants.WMQ_CLIENT_RECONNECT_OPTIONS, CommonConstants.WMQConstants.WMQ_CLIENT_RECONNECT);
endmqm -r
cf.setIntProperty(CommonConstants.WMQ_CLIENT_RECONNECT_OPTIONS, CommonConstants.WMQConstants.WMQ_CLIENT_RECONNECT);
endmqm -r
您是否尝试过从现有的JMSContext创建
JMSContext
JMSContext#createContext(int sessionMode)
它将创建新的JMSContext
,但重复使用相同的连接
参考:
取决于您是否在cf上启用重新连接。请查看我的答案底部@JoshMc,它似乎只适用于多主机设置。我用一个主机创建了一个上下文。在不重建上下文的情况下,似乎找不到恢复连接的方法?是否“断开我的连接”意味着您拉网络连接?持续多久?持续失败到底意味着什么。你得到了什么错误和堆栈跟踪?我已经设置好了。我试着断开了连接。并重新建立它。但是,如果我尝试使用相同的上下文发送消息,它将继续失败。你是如何断开连接的?我正在本地运行客户端。我刚刚断开连接,然后重新连接。当您使用
endmqm-r
停止队列管理器时,重新连接是否有效?