在声明的主机中创建队列管理器
Create Queue Manager in a Declared Host
在 C# 中,使用 IBM WebSphere MQ,我 运行:
var properties = new Hashtable();
properties.Add(MQC.HOST_NAME_PROPERTY, someHostName);
var queueManager = MQQueueManager(someQueueNameManager, properties);
我遇到异常:
System.Exception: Channel and Connection MUST be specified
很明显,它要我指定频道。但我不想指定频道。指定它很重要吗?我的意思是,当我 运行
var queueManager = MQQueueManager(someQueueNameManager);
它工作并连接到本地 MQ。如何在不指定任何通道的情况下创建连接到不同主机中的队列管理器的 MQQueueManager 对象?如果需要指定频道,请说明原因。
您需要一个 MQI 通道(服务器连接或服务器连接和客户端连接)通过网络连接到远程队列管理器(即远程主机上的 qmgr 运行)。该频道连接到 qmgr 和 puts/gets 为您发送的消息。对于本地 qmgr,您可以在绑定模式下连接(这就是您所做的)。此模式绕过网络堆栈并使用共享内存和信号量连接到 qmgr。
这是IBM MQ 中的基本技术概念之一。我建议阅读 MQ 入门。它很小,涵盖了您在使用 MQ 之前需要了解的所有内容。
在 C# 中,使用 IBM WebSphere MQ,我 运行:
var properties = new Hashtable();
properties.Add(MQC.HOST_NAME_PROPERTY, someHostName);
var queueManager = MQQueueManager(someQueueNameManager, properties);
我遇到异常:
System.Exception: Channel and Connection MUST be specified
很明显,它要我指定频道。但我不想指定频道。指定它很重要吗?我的意思是,当我 运行
var queueManager = MQQueueManager(someQueueNameManager);
它工作并连接到本地 MQ。如何在不指定任何通道的情况下创建连接到不同主机中的队列管理器的 MQQueueManager 对象?如果需要指定频道,请说明原因。
您需要一个 MQI 通道(服务器连接或服务器连接和客户端连接)通过网络连接到远程队列管理器(即远程主机上的 qmgr 运行)。该频道连接到 qmgr 和 puts/gets 为您发送的消息。对于本地 qmgr,您可以在绑定模式下连接(这就是您所做的)。此模式绕过网络堆栈并使用共享内存和信号量连接到 qmgr。
这是IBM MQ 中的基本技术概念之一。我建议阅读 MQ 入门。它很小,涵盖了您在使用 MQ 之前需要了解的所有内容。