在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
    停止队列管理器时,重新连接是否有效?