java - MQ CCDT AMQ9516 FileNotFoundException

标签 java websphere ibm-mq ibm-was

我正在配置一个 Web 应用程序以通过 WMQ 连接到另一个 Web 应用程序。

当两个应用程序连接到同一本地服务器时,MQ 配置在本地工作正常。

但是,当我在各自的服务器上部署每个应用程序时,我收到了 CCDT 错误。

服务器 1 - 通过远程 JNDI 连接到服务器 2

服务器 2 - 保存 WMQ 连接工厂、队列和激活规范。

测试时,在Server 1日志上,显示以下异常消息。这让我很困惑,为什么服务器 1 正在寻找 TAB 文件,而服务器 2 被配置为通过 CCDT 连接到 MQ。此外,服务器 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)

最佳答案

您有以下解决方案:

  • 您可以使用远程 JNDI,但您需要本地节点上的所有必需资源也位于相同位置,因此在您的情况下,\ccdt\CCDT.tab 文件必须在同一路径上可用
  • 重新配置您的连接工厂以包含所有详细信息而不是 ccdt。
  • 使用本地资源定义 - 在双方(而不仅仅是远程)上创建资源,并从本地服务器/集群获取它们。因此,如果您的 server1 正在发送消息,您应该创建连接工厂并在那里排队。如果集群(server2)上有 MDB,您应该在那里创建队列和激活规范。

在使用它的应用程序本地创建资源通常更容易。

关于java - MQ CCDT AMQ9516 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543400/

相关文章:

java - 网域。 SSL。我是否需要服务器证书才能启用 key 加密 KeyUsage?

java - 如何让 Java EE v5.0 与 WAS 6.1 一起工作?

java - 如果 Java 应用程序连接到 MQ 客户端而不是 MQ 服务器,是否可行?

java - 从 java 启动 WebSphere Message Queue 管理器

java - JAVA中质数的递归方法

websphere - IBM Websphere Commerce 中的 session 正在重置

java - 获取基于国家的货币符号

java - JBoss 6.3 问题上的 IBM MQ 资源适配器

java - 如何在 Java 中修改 JsonNode?

java - java中如何获取百分比