【发布时间】:2012-07-03 11:40:39
【问题描述】:
我有点不明白何时使用 MQ 客户端连接通道。据我了解,当客户端尝试连接MQ服务器时,可以通过在应用程序代码中直接定义server connection channel值的通道对象来完成。所以,如果是这样,那我们为什么要使用这样的客户端连接通道呢?
请帮我详细解释一下。非常感谢
【问题讨论】:
我有点不明白何时使用 MQ 客户端连接通道。据我了解,当客户端尝试连接MQ服务器时,可以通过在应用程序代码中直接定义server connection channel值的通道对象来完成。所以,如果是这样,那我们为什么要使用这样的客户端连接通道呢?
请帮我详细解释一下。非常感谢
【问题讨论】:
在旧版本的 WebSphere MQ 中,客户端通道定义表用于指定 SSL 参数和故障转移,因此应用程序可以在连接时从多个等效队列管理器中进行选择。 CCDT 文件是已编译的工件,DEFINE CHL(channel name) CHLTYPE(CLNTCONN) 命令是在 CCDT 文件中生成条目的原因。因此,如果您想创建 CCDT 文件,则只能使用 CLNTCONN 通道类型。
较新版本的 WebSphere MQ 在 MQCONNX API 中公开 CCDT 字段,并且重新连接参数在 CONNAME 参数和 client.ini 文件中。尽管这些使 CCDT 文件对于较新的应用程序来说已经过时,但商业和旧版应用程序仍然需要该功能。 IBM 尚未宣布弃用 CCDT 功能,它处于刚刚发布的 V7.5 中,因此该功能将在可预见的未来保留。
【讨论】:
通道是 WebSphere® MQ 客户端和 WebSphere MQ 服务器之间或两个 WebSphere MQ 服务器之间的逻辑通信链接。一个通道有两个定义:一个在连接的每一端。连接的每一端必须使用相同的通道名称,并且使用的通道类型必须兼容。
WebSphere® MQ 使用两种不同类型的通道:
消息通道,它是两个队列管理器之间的单向通信链接。 WebSphere MQ 使用消息通道在队列管理器之间传输消息。要双向发送消息,您必须为每个方向定义一个通道。
消息渠道是一种单向链接。它使用消息通道代理 (MCA) 连接两个队列管理器。其目的是将消息从一个队列管理器传输到另一个队列管理器。客户端服务器环境不需要消息通道。
MQI 通道,它是双向的,将应用程序(MQI 客户端)连接到服务器机器上的队列管理器。 WebSphere MQ 使用 MQI 通道在 MQI 客户端和队列管理器之间传输 MQI 调用和响应
【讨论】: