我試圖使用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