使用客户端模式连接到IBM MQ时获取MQJMS2005异常

使用客户端模式连接到IBM MQ时获取MQJMS2005异常,jms,ibm-mq,mq,Jms,Ibm Mq,Mq,执行以下代码,尝试使用客户端模式连接WebSphere MQ QueueManager,我得到了MQJMS2005异常 MQQueueConnectionFactory cf = new MQQueueConnectionFactory(); cf.setPort(port); cf.setHostName(host); cf.setChannel(channel); cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP); cf.setQueueM

执行以下代码,尝试使用客户端模式连接WebSphere MQ QueueManager,我得到了MQJMS2005异常

MQQueueConnectionFactory cf = new MQQueueConnectionFactory();
cf.setPort(port);
cf.setHostName(host);
cf.setChannel(channel);
cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);
cf.setQueueManager(queuemanager);

conn = (MQQueueConnection)cf.createQueueConnection();
我使用com.ibm.mq.jar、com.ibm.mqjms.jar、dhbcore.jar、jmscommon.jar和j2ee.jar

我假设这可能与权限有关,因为当连接到另一台主机/端口/通道/队列管理器/队列时,相同的代码可以在另一台机器上正常工作

堆栈跟踪如下所示:

javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for 'host:queuemanager'
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:644)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2591)
at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1936)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:161)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:206)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:126)
at MQTest.init(MQTest.java:51)
javax.jms.JMSException:MQJMS2005:未能为“主机:队列管理器”创建MQQueueManager
位于com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:644)
位于com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2591)
位于com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1936)
位于com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:161)
位于com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:206)
位于com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:126)
在MQTest.init(MQTest.java:51)

我如何解决这个问题,使我能够成功地运行代码?

我遇到了同样的问题。这与没有通道或MQ Queuemanager xml或Websphere MQ安装上的某些设置有关。也许会有帮助

后来我发现这是由于权限问题。 当使用客户端模式连接到MQ时,MQ可以配置权限设置,如允许的客户端ip; 在我之前的案例中,机器未添加到允许列表中

而另一个运行良好的应用程序实际上使用的是绑定模式,而不是客户端模式。
因此,它绑定到一个允许的用户id。

这是我们在.binding文件或DEV-WEST文件中遇到的异常,我们在其中配置MQ客户端信息,如 SSP-FLOW.VERICHECK_HOST_NAME=113.130.234.174,即
检查所有这些区域,这些区域是缺陷区域,如果出现异常,则会导致异常。

OK。看起来您正在使用BlockIP退出。