2

执行以下代码尝试使用客户端模式连接 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)

我该如何解决这个问题,以便我可以成功运行代码?

4

3 回答 3

3

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

于 2012-12-08T12:28:09.367 回答
0

后来我发现这是由于权限问题。使用客户端模式连接MQ时,可以对MQ进行权限设置,如允许的客户端ip;在我之前的情况下,机器没有被添加到允许列表中;

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

于 2012-02-03T01:46:12.543 回答
0

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

于 2012-02-02T12:03:16.963 回答