之前写的一个用JMS监听MQ的java程序,调用本地MQ一起正常。可是今天突然去调用远程服务器上的队列时却报错了。
以下是报错信息
Exception in thread "main" org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: 连接至队列管理器 ‘BLQMGR2‘ 失败,连接方式为 ‘Bindings‘,主机名为
‘192.168.100.104(1414)‘。
检查队列管理器是否已启动,如果正在以客户机方式运行,那么还要检查是否有侦听器在运行。请参阅链接的异常以获取更多信息。; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ 调用失败,完成代码为 ‘2‘ ( ‘MQCC_FAILED‘ ),原因为 ‘2058‘ ( ‘MQRC_Q_MGR_NAME_ERROR‘ )。
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:496)
at org.springframework.jms.core.JmsTemplate.receiveSelected(JmsTemplate.java:753)
at org.springframework.jms.core.JmsTemplate.receive(JmsTemplate.java:732)
at org.springframework.jms.core.JmsTemplate.receive(JmsTemplate.java:723)
at com.mq.test.TestReceive.showResult(TestReceive.java:42)
at com.mq.test.TestReceive.main(TestReceive.java:104)
Caused by: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: 连接至队列管理器 ‘BLQMGR2‘ 失败,连接方式为 ‘Bindings‘,主机名为 ‘192.168.100.104(1414)‘。
检查队列管理器是否已启动,如果正在以客户机方式运行,那么还要检查是否有侦听器在运行。请参阅链接的异常以获取更多信息。
at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:585)
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:221)
at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:425)
at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:6902)
at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6277)
at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:285)
at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6233)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:120)
at com.ibm.mq.jms.MQQueueConnectionFactory.createConnection(MQQueueConnectionFactory.java:203)
at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:180)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:483)
... 5 more
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ 调用失败,完成代码为 ‘2‘ ( ‘MQCC_FAILED‘ ),原因为 ‘2058‘ ( ‘MQRC_Q_MGR_NAME_ERROR‘ )。
at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:209)
... 14 more
仔细检查配置 IP地址、通道、队列管理器名称、队列 都没写错啊,改成连接本地也是可以的。
另外服务器端的通道认证也是禁用的。还是不行,最后纠结了一上午还是问了群里的大神 原来连接方式transportType不对 默认为0 远程调用要改成1(TCP)连接,见配置图。
版权声明:本文为博主原创文章,未经博主允许不得转载。
JMSWMQ0018: 连接至队列管理器 'QMGR' 失败,连接方式为 'Bindings'