是否可以在同一进程中连接多个 IBM MQ 队列管理器?

Is it possible to connect more than one IBM MQ queue manager in the same same process?

根据IBM MQ doc,我需要为MQ服务器地址定义一个名为MQSERVER的环境变量。那么在一个进程中,是否可以只有一个MQ服务器地址,对吗?

是否有任何其他方法来定义 MQ 服务器地址并有多个 MQ 连接到不同的 MQ 服务器?

您在从 MQCNO 引用的 MQCD 中指定通道名称、主机和端口。在 C 中,是 MQCONNX 调用允许这样做。如果您在 CCDT 中指定内容,然后使用 MQCHLLIB=/path/to/table 和 MQCHLTAB=table_filename.TAB 指向 CCDT,那么您可以发出正常的 MQCONN(或 MQCONNX)调用并仅指定队列管理器名称。它将在 CCDT 中找到此 QMNAME 并使用 CCDT 中提供的连接详细信息。 – JoshMc 21 分钟前

您可以在从 MQCNO 引用的 MQCD 中指定频道名称、主机和端口。在 C 中,您会将其传递给 MQCONNX 函数。

您还可以在 CCDT(客户端通道定义 Table)中指定连接详细信息(通道名称、主机和端口)。您可以使用以下环境变量指向 CCDT(还有其他方法,但这是一种方法):

MQCHLLIB=/path/to/table
MQCHLTAB=table_filename.TAB

然后您可以使用 MQCONN(或 MQCONNX)并仅指定队列管理器名称。 MQ 将在 CCDT 中找到与队列管理器名称匹配的条目,并使用提供的连接详细信息。