【问题标题】:Failed to connect to queue manager 'DevQueue01' with connection mode 'Client' and host name无法使用连接模式“客户端”和主机名连接到队列管理器“DevQueue01”
【发布时间】:2019-10-19 10:48:07
【问题描述】:
org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: Failed to connect to queue manager 'DevQueue01' with connection mode 'Client' and host name 'myhost(51401)'.
Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2537' ('MQRC_CHANNEL_NOT_AVAILABLE').
at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:169)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:487)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:570)
at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:696)
at com.bnsf.me.echs.inspection.consumer.jms.InspectionSender.send(InspectionSender.java:20)
at com.bnsf.me.echs.inspection.consumer.jms.InspectionSenderTest.testReceive(InspectionSenderTest.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)

原因:com.ibm.msg.client.jms.DetailedJMSException:JMSWMQ0018:无法使用连接模式“客户端”和主机名“myhost(51401)”连接到队列管理器“DevQueue01”。 检查队列管理器是否已启动,如果在客户端模式下运行,请检查是否有正在运行的侦听器。请参阅链接的异常以获取更多信息。 在 com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:595) 在 com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:215) 在 com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.java:413) 在 com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:8475) 在 com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:7814) 在 com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl._createConnection(JmsConnectionFactoryImpl.java:299) 在 com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:236) 在 com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6024) 在 com.ibm.mq.jms.MQConnectionFactory.createConnection(MQConnectionFactory.java:6049) 在 org.springframework.jms.connection.SingleConnectionFactory.doCreateConnection(SingleConnectionFactory.java:365) 在 org.springframework.jms.connection.SingleConnectionFactory.initConnection(SingleConnectionFactory.java:305) 在 org.springframework.jms.connection.SingleConnectionFactory.getConnection(SingleConnectionFactory.java:283) 在 org.springframework.jms.connection.SingleConnectionFactory.createConnection(SingleConnectionFactory.java:224) 在 org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180) 在 org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:474) ... 33 更多 原因:com.ibm.mq.MQException:JMSCMQ0001:WebSphere MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因'2537' ('MQRC_CHANNEL_NOT_AVAILABLE')。 在 com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:203) ... 46 更多 原因:com.ibm.mq.jmqi.JmqiException: CC=2;RC=2537;AMQ9204: 与主机 'myhost(51401)' 的连接被拒绝。 [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2537;AMQ9558: 主机 '' 上的远程通道 'ME.JAVA.CLIENT' 当前不可用。 [3=ME.JAVA.CLIENT]],3=myhost(51401),5=RemoteConnection.analysisErrorSegment] 在 com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:2282) 在 com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:1294) 在 com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiConnect(InterceptedJmqiImpl.java:376) 在 com.ibm.mq.ese.jmqi.ESEJMQI.jmqiConnect(ESEJMQI.java:560) 在 com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.java:346) ... 45 更多 原因:com.ibm.mq.jmqi.JmqiException: CC=2;RC=2537;AMQ9558: 主机 '' 上的远程通道 'ME.JAVA.CLIENT' 当前不可用。 [3=ME.JAVA.CLIENT]

【问题讨论】:

  • 你真的不应该在没有解释的情况下直接在 stackoverflow 问题中转储错误。我建议您找出队列管理器错误日志显示的内容。您可能已经达到 maxinst 或 max channels,通道可能已处于停止状态,可能是其他原因。
  • 抱歉,要查看队列管理器日志 - 我需要安装 IBM MQ 客户端吗?
  • 不,您需要登录队列管理器服务器并查看日志,如果您无权访问,则需要询问有权限的人。

标签: jms ibm-mq spring-jms channel


【解决方案1】:

你的连接客户端报了如下错误:-

JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED')
reason '2537' ('MQRC_CHANNEL_NOT_AVAILABLE').

这可能是由于以下原因之一:-

  • 频道目前处于停止状态。
  • 通道已被通道出口停止。
  • 队列管理器已达到来自此客户端的此通道的最大允许限制。
  • 队列管理器已达到此通道的最大允许限制。
  • 队列管理器已达到所有通道的最大允许限制

如 IBM 知识中心的 explanation of 2537 (MQRC_CHANNEL_NOT_AVAILABLE) 中所述。

正如该解释中所说,您应该检查队列管理器和客户端错误日志,以获取解释问题原因的消息。

如果您在阅读客户端和队列管理器计算机上的 AMQERR01.LOG 文件时不明白问题是什么,请使用相关错误消息更新您的问题,我们可以提供进一步的帮助。

【讨论】:

  • 我的 Spring Boot 应用程序正在运行,它连接到同一个队列。我正在尝试运行 JUnit 测试以连接到同一个队列。一旦我关闭了我的 Spring Boot 应用程序,它就可以毫无问题地连接
  • 这听起来可能是您的 Spring Boot 应用程序耗尽了该通道上的所有连接。但是,除非您查看队列管理器 AMQERR01.LOG 告诉我们,否则我们永远不会知道。
猜你喜欢
  • 2015-06-19
  • 2021-12-06
  • 2020-04-06
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 2021-01-15
相关资源
最近更新 更多