无法使用连接模式“客户端”和主机名

时间:2019-06-03 21:38:05

标签: jms ibm-mq spring-jms channel

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.analyseErrorSegment]     在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]

1 个答案:

答案 0 :(得分: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文件时都不了解问题是什么,请使用相关的错误消息更新您的问题,我们将提供进一步的帮助。