我尝试使用位于远程服务器中的ccdt文件设置ccdturl。我尝试使用ftp设置ccdt url,但它没有用。有谁知道在远程服务器中为ccdt文件设置url的正确方法是什么? 谢谢!
我试过了:
String channelTablePath = "ftp://user@host:/path-to-ccdt-file";
Url url = new URL(channelTablePath );
connectionFactory.setCCDTURL(url);
我得到的错误是:
Exception in thread "main" javax.jms.JMSException: JMSWMQ2020: Failed to connect to queue manager '*QQ' with connection mode 'Client' and supplied CCDT URL 'ftp://user@host:/path/ccdt.tab', see linked exception for more information.
JMS Error code: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2278' ('MQRC_CLIENT_CONN_ERROR').
EXPLANATION:
The filesystem returned error code 'java.net.ConnectException[Connection timed
out]' for file 'ftp://user@host:/path/ccdt.tab'.
ACTION:
Record the name of the file 'ftp://user@host:/path/ccdt.tab'
and tell the systems administrator, who should ensure that file 'ftp://user@host:/path/ccdt.tab'
is correct and available.
答案 0 :(得分:1)
要点:
在URL中的主机后面不应该有冒号(:
)。如果需要,您应在URL中指定密码值。您还需要指定ccdt文件的名称。在本答案结尾处提及IBM Knowlege中心。
请尝试使用以下值:
String channelTablePath = "ftp://user:pass@host/path-to-ccdt-file/AMQCLCHL.TAB";
IBM MQ v9知识中心页面" Using a client channel definition table with IBM MQ classes for JMS"规定:
作为另一个示例,假设文件ccdt2.tab包含客户端 通道定义表,存储在不同的系统中 从运行应用程序的那个。如果文件可以 使用FTP协议访问,应用程序可以设置CCDTURL 财产以下列方式:
java.net.URL chanTab2 = new URL("ftp://ftp.server/admdata/ccdt2.tab"); factory.setCCDTURL(chanTab2);
IBM MQ v9知识中心页面" Web addressable access to the client channel definition table"显示了带有用户名和密码的FTP URL示例:
经过身份验证的连接
export MQCHLLIB=ftp://myuser:password@myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc export MQCHLLIB=http://myuser:password@myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc
...
注意强>
如果要使用经过身份验证的连接,则必须与JMS一样,提供在URL中编码的用户名和密码。