我试图使用JMS和客户端通道定义表(CCDT)连接到IBM MQ。当我单独指定MQ属性时,我能够成功连接到QueueManager。 但是,当我尝试使用CCDT文件时,我得到了下面的异常。使用JMS中的CCDT文件连接到IBM MQ
由于客户端通道定义表(CCDT)用于确定客户端应用程序用于连接到队列管理器的通道定义,因此我没有设置QueueManager Name。
ERROR> com.ssc.ach.mq.JMSMQReceiver[main]: errorMQJMS2005: failed to create MQQueueManager for ''
javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for ''
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:586)
at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2110)
at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:1532)
at com.ibm.mq.jms.MQQueueConnection.<init>(MQQueueConnection.java:150)
at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:174)
at com.ibm.mq.jms.MQQueueConnectionFactory.createConnection(MQQueueConnectionFactory.java:1066)
Iam使用.setCCDTURL(ccdt);
方法来设置CCDT URL。
private MQQueueConnectionFactory mqQueueConnectionFactory = new MQQueueConnectionFactory();
mqQueueConnectionFactory.setCCDTURL(ccdt);
queueConnection = mqQueueConnectionFactory.createConnection(username, pwd);
当我尝试连接使用下面的配置而不是CCDT文件连接到MQ。
mqQueueConnectionFactory.setHostName(host);
mqQueueConnectionFactory.setChannel(channel);
mqQueueConnectionFactory.setPort(port);
mqQueueConnectionFactory.setQueueManager(qManager);
mqQueueConnectionFactory.setTransportType(1);
我是否需要设置setQueueManager以及随着CCDT文件,作为例外,说failed to create MQQueueManager for ''
您在通道表中定义的CLNTCONN通道的'QMNAME'字段中有什么?你在频道表中只定义了一个频道吗? – JoshMc
在TAB文件中,我看到加密的数据和主机名,端口号,通道名称 – Nayeem
你安装了什么版本的mq客户端? – JoshMc