IBM MQ 通道

article/2025/9/27 3:47:13

一,定义

通道是分布式队列管理器在IBM® MQ MQI 客户端和IBM MQ服务器之间或两个IBM MQ服务器之间使用的逻辑通信链接。

通道是提供从一个队列管理器到另一个队列管理器的通信路径的对象。通道在分布式队列中用于将消息从一个队列管理器移动到另一个队列管理器,并且它们使应用程序免受底层通信协议的影响。队列管理器可能存在于相同或不同的平台上。

一个通道有两个定义一个在连接的每一端。要使队列管理器相互通信,您必须在发送消息的队列管理器上定义一个通道对象,并在接收消息的队列管理器上定义另一个互补通道对象。连接的每一端必须使用相同的通道名称,并且使用的通道类型必须兼容。

IBM MQ中存在三种通道类别,这些类别中具有不同的通道类型:
  • 消息通道是单向的,将消息从一个队列管理器传输到另一个队列管理器。
  • MQI 通道是双向的,将 MQI 调用从IBM MQ MQI 客户端传输到队列管理器,并将响应从队列管理器传输到IBM MQ客户端。
  • AMQP 通道,它是双向的,将 AMQP 客户端连接到服务器机器上的队列管理器。IBM MQ使用 AMQP 通道在 AMQP 应用程序和队列管理器之间传输 AMQP 调用和响应。

二,消息通道

消息通道是一种单向链接。它使用消息通道代理(MCA) 连接两个队列管理器。

消息通道的目的是将消息从一个队列管理器传输到另一个队列管理器。客户端服务器环境不需要消息通道。

图 1. 两个队列管理器之间的消息通道

有关详细信息,请参阅通道退出调用和数据结构。

三,MQI通道

消息队列接口 (MQI) 通道将IBM MQ MQI 客户端连接到服务器机器上的队列管理器,并在您从IBM MQ MQI 客户端应用程序发出MQCONN或MQCONNX调用时建立。

它是双向链接,仅用于传输 MQI 调用和响应,包括 包含消息数据的MQPUT调用和 导致返回消息数据的MQGET调用。有多种创建和使用通道定义的方法(请参阅定义 MQI 通道)。

图 2. MQI 通道上的客户端连接和服务器连接

MQI 通道可用于将客户端连接到单个队列管理器,或连接到属于队列共享组的队列管理器(请参阅将客户端连接到队列共享组)。

MQI 通道定义有两种通道类型。它们定义双向 MQI 通道。

客户端连接通道

此类型用于IBM MQ MQI 客户端。

客户端连接通道是双向 MQI 通道,用于将 IBM MQ客户端连接到IBM MQ服务器。IBM MQ Explorer还使用客户端连接来连接到远程队列管理器。客户端连接通道是通道的客户端。创建客户端连接通道时,会在托管队列管理器的计算机上创建一个文件。然后,您必须将客户端连接文件复制到IBM MQ 客户端计算机。

服务器连接通道

服务器连接    服务器连接通道是双向 MQI 通道,用于将 IBM MQ客户端连接到IBM MQ服务器。服务器连接通道

此类型用于运行队列管理器的服务器,在IBM MQ MQI 客户端环境中运行的IBM MQ应用程序将与之通信。

四,通道定义

有关每种类型的通道的描述,请参阅通道定义。

  • 通道定义
    描述IBM MQ使用的不同类型的消息通道和 MQI 通道的表。

示例1 :(创建消息通道)

在下图中,在左侧,我们打开QMA并定义了两个通道:

  • 一个名为 的发送方通道QMA.TO.QMB,它使用传输队列QMB.XMITQ并指向 IP 地址为 的远程 WebSphere MQ 系统127.0.0.1,该系统正在侦听端口号1451(为QMB)。

  • 一个名为 的 Receiver Channel QMB.TO.QMA,用于接收消息(QMB在本例中为来自)。

在 上定义了相应的发送方和接收方通道QMBQMA请注意,两者上的 Sender和Receiver Channel 名称对QMB必须相同,因此 Receiver ChannelQMB必须与 Sender Channel 具有相同的名称QMA.

 示例2 :(创建MQI通道)

IBM Documentation

您可以使用 MQSERVER 或在 MQCONNX 调用上使用 MQCNO 结构在客户端工作站上定义客户端连接通道。
在UNIX 和 Linux®系统上指定一个简单的通道定义 ,如下所示:
export MQSERVER=ChannelName/TransportType/ConnectionName

export MQSERVER=CHANNEL1/TCP/'9.20.4.56'
export MQSERVER=CHANNEL1/LU62/BOX99


Where:
-ChannelName必须与服务器上定义的名称相同。它不能包含正斜杠。
-TransportType可以是以下值之一,具体取决于您的IBM MQ MQI 客户端平台:
  LU62
  TCP
  网络BIOS
  SPX
注意:在UNIX 和 Linux系统上,TransportType 区分大小写并且必须是大写。如果无法识别 TransportType,则 MQCONN或MQCONNX调用返回 2058
ConnectionName是通信协议 (TransportType) 定义的服务器名称。
在IBM MQ MQI 客户端上,所有MQCONN或MQCONNX请求都会尝试使用您定义的通道,除非该通道在从提供给MQCONNX的 MQCNO 结构引用的 MQCD 结构中被覆盖。


http://chatgpt.dhexx.cn/article/DTDOYMvj.shtml

相关文章

MQ135

这里写自定义目录标题 以MQ135为例 原文链接 首先声明,公式不是官方给定的,而且有很多的局限性。 这篇文章是个人对MQ系列传感器电压与浓度转换的公式进行一个探索。 以MQ135为例 在氨气曲线上采点,得 x(ppm)[10,2…

MQ简介以及架构图

一、什么是MQ Message Query(MQ),消息队列中间件,很多初学者认为,MQ通过消息的发送和接受来实现程序的异步和解耦,mq主要用于异步操作,这个不是mq的真正目的,只不过是mq的应用&…

IBMMQ java远程访问(四)

当应用程序和MQ不在同一台主机上的时候,我们将要通过通道去访问; 1.创建队列管理器时勾选创建服务器链接通道; 2.创建一个本地队列 命名为Q1 3.创建通道 右击通道->新建->服务器链接通道 命名为SERVERQM2 4.代码示例调用 package com.i…

MQ理论介绍与主流MQ对比

1、什么是MQ? MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然…

什么是MQ

MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进 行通信。 分布式系统之间进行通信: 远程调用:各系统间直接通过远程调用的方式; 借助第三方完成系统…

MQ的概念和RabbitMQ知识点(无代码)

目录 1. MQ的基本概念 1.1 MQ概述 1.2 MQ的优势 1. 应用解耦 2. 异步提速 3. 削峰填谷 1.3 MQ的劣势以及可能引发的问题 1.4 常见的MQ产品 2. RabbitMQ的知识点 2.1 RabbitMQ的工作模式 1. 简单模式 2. 工作队列模式 Work Queue 3. 发布订阅模式 Publish/subscri…

MQ简介

一、何为MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通…

【MQ基本概念 MQ的工作原理】

一、 MQ 基本概念 1 、 MQ 概述 MQ 全称 Message Queue (消息队列),是在消息的传输过程中保存 消息的容器。多用于分布式系统之间进 行通信。 小结 MQ ,消息 队列,存储消息的中间件 分布式系统通信两种方式&…

mq的基本介绍和基本用法

一 、什么是MQ,有什么用 MQ 是message queue ,消息队列,也叫消息中间件,遵守JMS(java message service)规范的一种软件。(同时还有另一个叫AMQP的应用层协议,语言无关性不受产品 语言等限制,r…

MQ(Message Queue)简介

一、何为MQ? MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通…

MQ消息队列详解、四大MQ的优缺点分析

MQ消息队列详解、四大MQ的优缺点分析 前言面试题切入面试官心理分析面试题剖析①为什么要使用MQ系统解耦异步调用流量削峰消息队列的优缺点四大主流MQ(kafka、ActiveMQ、RabbitMQ、RocketMQ)各自的优缺点 前言 近期有了想跳槽的打算,所以自己…

file和filestream

在C#编程环境中,当我们对电脑文件进行读写、移动、复制、删除等这些操作时,这些都可以在system.IO名称空间下,所以当我们想要通过C#编程语言对其进行操作时,需要添加该名称空间,它内部包含对数据流和文件进行同步或异步…

java filestream_java FileStream文件流操作

直接上代码,函数使用说明详见Java API文档 import java.io.*; public class StreamDemo { public static void main(String[] args) { File fnew File("F:\\workspace\\JavaPrj\\test.txt"); FileOutputStream outnull; try { outnew FileOutputStream(f)…

c#FileStream文件读写

//C#文件流写文件,默认追加FileMode.Append string msg "okffffffffffffffff"; byte[] myByte System.Text.Encoding.UTF8.GetBytes(msg); using (FileStream fsWrite new FileStream("D:\1.txt", FileMode.Append)) {fsWrite.Write(myByte, 0, myByte.…

FileStream类

FileStream类的官方介绍请见&#xff1a; https://msdn.microsoft.com/zh-cn/library/system.io.filestream.aspx 一、使用FileStream来读取文本文件 <pre name"code" class"csharp"> string path "E:\TEMP\TestFileStream\the ol…

猿创征文|【.Net实用方法总结】 整理并总结System.IO中FileStream类及其方法介绍

&#x1f40b;作者简介&#xff1a;博主是一位.Net开发者&#xff0c;同时也是RPA和低代码平台的践行者。 &#x1f42c;个人主页&#xff1a;会敲键盘的肘子 &#x1f430;系列专栏&#xff1a;.Net实用方法总结 &#x1f980;专栏简介&#xff1a;博主针对.Net开发和C站问答过…

FileStream的使用

FileStream的使用 一.基本介绍&#xff1a; 二.FileStream读写文件实例&#xff1a; string path1 "d\test\test1.txt";string path2 "d\test\test2.txt";byte[] buffered new byte[1024];using (FileStream fsr new FileStream(path1, FileMode.Ope…

C#中File和FileStream的用法

在近期的工作过程中发现自己的基础比较薄弱&#xff0c;所以最近在恶补基础知识。下面就对我所学习的File类和FileStream进行简单的总结。1.首先先介绍File类和FileStream文件流 1.1 File类&#xff0c;是一个静态类&#xff0c;支持对文件的基本操作&#xff0c;包括创建&am…

FileStream 总结

FileStream 如何去理解FileStream? 我们磁盘的中任何文件都是通过2进制组成&#xff0c;最为直观的便是记事本了&#xff0c;当我们新建一个记事本时&#xff0c;它的大小是0KB, 我们每次输入一个数字或 字母时文件便会自动增大4kb,可见随着我们输入的内容越来越多&#xff…

FileStream读写文件

FileStream读写文件 FileStream类:操作字节的&#xff0c;可以操作任何的文件 StreamReader类和StreamWriter类:操作字符的&#xff0c;只能操作文本文件。 1、FileStream类 FileStream类 命名空间: System.IO &#xff08;1&#xff09;构造函数&#xff1a; FileStre…