在声明的主机中创建队列管理器
本文关键字:创建 队列 管理器 主机 声明 | 更新日期: 2023-09-27 18:13:29
在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通道(服务器连接或服务器连接&客户机Conn)通过网络连接到远程队列管理器(即在远程主机上运行的qmgr)。通道连接到qmgr并为您放置/获取消息。对于本地qmgr,您可以以绑定模式进行连接(这就是您所做的)。此模式绕过网络堆栈,并使用共享内存和信号量连接到qmgr。
这是IBM MQ中的基本技术概念之一。我建议阅读MQ入门。它很小,涵盖了在使用MQ之前需要了解的所有内容。
http://www.redbooks.ibm.com/redpapers/pdfs/redp0021.pdf