我正在配置一个Web应用程序,以便通过WMQ连接到另一个Web应用程序。
当两个应用程序连接到同一个本地服务器时,MQ配置在本地上运行得很好。
但是,当我将每个应用程序部署到它们自己的服务器上时,我会得到CCDT错误。
服务器1-通过远程JNDI连接到服务器2
服务器2-保存WMQ连接工厂、队列和激活规范。
在服务器1日志上进行测试时,它将显示下面的异常消息。这让我感到困惑,为什么当服务器2被配置为通过CCDT连接到MQ时,Server 1正在寻找TAB文件。此外,服务器2不包含任何异常。
知道我做错了什么配置吗?
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2278;AMQ9516: File error occurred. [1=java.io.FileNotFoundException[\ccdt\CCDT.tab (The system cannot find the path specified.)],3=file:/ccdt/CCDT.tab]
at com.ibm.mq.jmqi.system.internal.CCDT.parse(CCDT.java:333)
at com.ibm.mq.jmqi.system.internal.CCDT.<init>(CCDT.java:191)
at com.ibm.mq.jmqi.remote.internal.system.RemoteCCDT.<init>(RemoteCCDT.java:68)
at com.ibm.mq.jmqi.remote.internal.RemoteFAP.getCcdt(RemoteFAP.java:413)
at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1580)
at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1286)
at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:367)发布于 2014-07-03 09:30:54
你有以下解决办法:
在本地为正在使用它的应用程序创建资源通常更容易。
发布于 2014-07-03 09:18:49
我想这里有些混乱。
远程JNDI调用创建指向服务器2的初始上下文,这意味着您正在查找服务器2上的Connection。
因此,如果服务器2上的Connection已经配置了一个CCDT,那么当server 1使用服务器2中的连接工厂进行连接尝试时,它也将使用CCDT,因为这就是JNDI中的定义。
这有意义吗?
我建议你要么:
( a)在远程JNDI中创建第二个连接工厂,其名称不需要配置CCDT。例如,你可以有'ccdtCF‘和'cf’。然后将应用服务器上的应用程序配置为使用适当的cf。
b)根据需要在每个服务器上使用本地JNDI。
( c)确保所有客户端在所有服务器上以相同的方式连接。所有CCDT (以及CCDT需要位于同一个文件系统位置)或者没有CCDT连接。
https://stackoverflow.com/questions/24543400
复制相似问题