【发布时间】:2011-03-04 06:04:23
【问题描述】:
我需要更改 C++ 代码以使用客户端通道定义表连接 WebSphere MQ。在带有 v6.0 的 Windows 2003 上大约有 5000 多个 MQ 客户端和 10 个 MQ 服务器。如果有人在 CCDT 中使用 C++,请帮助我。
【问题讨论】:
-
XML 文件包含 MQ 服务器连接信息,例如主机名、队列管理器名称、通道和端口。客户端首先尝试连接到 xml 文件中的第一个队列管理器,如果它无法建立连接,那么它会连接到第二个队列管理器。客户端连接没有负载平衡,所有服务器都在集群中。我确信客户端使用 MQCONN 进行连接,并且也会与开发人员确认相同的情况。我阅读了 v7.0 中关于自动重新连接和客户端从客户端通道定义表中随机选择队列管理器的新特性。
-
MQCONN 和 MQCONNX 之间的巨大区别。如果 XML 文件包含主机、通道和端口,则应用程序正在使用 MQCONNX,它允许您指定所有连接详细信息。在这种情况下,有必要将 SSL CipherSpec 添加到连接选项中,如下所述:bit.ly/aMLFnO 当然,您仍然需要告诉应用程序在哪里可以找到 KDB 文件,这就是前面所述的 SSLKEYR 环境变量。
-
要了解应用程序是使用 MQCONN 还是 MQCONNX,以下跟踪 MQ API 调用的命令是否有帮助? strmqtrc -x all -t api (Windows) strmqtrc -t api
-
嗨 Rob,我使用“strmqtrc -t api”在测试服务器中启用了跟踪,并在输出文件中找到了 MQCONN。这是否证实我们没有使用 MQCONNX?开发团队在离岸,他们无法回答我关于 MQCONN 和 MQCONNX 的问题。所以我正在检查我是否可以自己找到。
-
我不确定 MQCONNX 是否显示在跟踪中。但是,MQCONN 的 only 参数是 QMgr 名称,一个 48 个字符的字符串。如果您在 MQCONN 的跟踪中看到主机、端口和通道,那么它实际上是一个 MQCONNX 调用。如果您无法访问源代码,这里有一个完全不同的讨论,关于您如何从离岸团队进行 QA 代码,但我们可以将其留到另一天。
标签: c++ message-queue ibm-mq