MQ中将消息发送至远程队列的配置

摘要:
MQ向远程队列发送消息的配置从MQ Explorer V7的帮助文档中提取。在开始本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址、MQ端口号、队列管理器、接收或发送队列名称。在第一台计算机上创建的消息被传送到第二台计算机上的队列Q1。最后,您将把测试消息放入发送机器,并从接收机器上的队列中获取它。确保选中“启动队列管理器”复选框。

MQ中将消息发送至远程队列的配置

摘自MQ资源管理器帮助文档V7

在开始学习本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址、MQ的端口号、队列管理器、接收(远程机器)或者是发送的队列(本地机器)名称

消息传递如图示:

 

MQ中将消息发送至远程队列的配置第1张本教程介绍了如何设置一台计算机上的队列管理器 QM_ORANGE 与另一台计算机上的队列管理器 QM_APPLE 之间的消息传递。在第一台计算机上创建的消息被传递到第二台计算机上的队列 Q1(此队列被称为远程队列)。

要点: 在本教程中,您将使用创建了队列管理器 QM_APPLE 和本地队列 Q1 的机器作为接收机器。

您将在发送机器上设置队列管理器和队列(远程队列定义和传输队列)。然后定义消息通道。最后,您将把测试消息放入发送机器,并从接收机器上的队列获取该消息。

完成本教程后,您应该基本了解如何使用远程队列定义来设置和使用 WebSphere® MQ 消息传递。

一、              在发送机器上创建队列管理器

二、              在发送队列管理器上创建队列

三、              创建消息通道

四、              将测试消息放入队列

五、              验证是否已发送测试消息

一、在发送机器上创建队列管理器

在发送机器上使用 WebSphere MQ 资源管理器创建队列管理器

无法远程完成此过程。必须在发送机器上本地完成此过程。

  1. 启动 WebSphere MQ 资源管理器。
  2. 在导航器视图中,右键单击队列管理器文件夹,然后单击新建 > 队列管理器 此时会打开创建队列管理器向导。
  3. 在队列管理器名称字段中,输入 QM_ORANGE
  4. 选中设置为缺省队列管理器复选框。
  5. 单击下一步两次以转至向导的步骤 3
  6. 确保选中启动队列管理器复选框。
  7. 确保选中自动启动队列管理器复选框。
  8. 单击下一步以转至向导的步骤 4
  9. 确保选中创建配置用于 TCP/IP 的侦听器复选框。
  10. 如果完成按钮不可用,那么在侦听端口号字段中输入另一个端口号。 如果当前值为 1414,那么尝试输入 1415 1416
  11. 单击完成。

WebSphere MQ 资源管理器的导航器视图中的队列管理器文件夹中会显示表示此队列管理器的图标,并且在您创建队列管理器后,该队列管理器会自动开始运行。

使用 MQSC 创建发送队列管理器

在发送机器上打开命令提示符,然后按照以下步骤操作:

  1. 通过输入以下命令来创建名为 QM_ORANGE 的缺省队列管理器:

crtmqm -q QM_ORANGE

此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。

  1. 通过输入以下命令来启动此队列管理器:

strmqm

此时会显示一条消息,告诉您何时启动了该队列管理器。

  1. 现在,您必须通过输入以下命令来创建侦听器:

runmqlsr -m QM_APPLE -t TCP -p (port number)

注: 如果未使用 -p 参数指定任何端口,那么使用缺省端口 1414,但请注意,不能对发送方和接收方使用相同的端口号,因此,如果其中一个为 1414,那么另一个就应该是 1415

您现在已经创建了发送队列管理器。下一个任务是在此队列管理器上创建队列。

二、在发送队列管理器上创建队列

使用 WebSphere MQ 资源管理器在发送队列管理器上创建队列

在发送队列管理器上:

  1. 在导航器视图中,展开队列管理器文件夹。
  2. 展开队列管理器 QM_ORANGE
  3. 右键单击队列文件夹,然后单击新建 > 远程队列定义... 此时会打开新建远程队列定义向导。
  4. 在名称字段中,输入 Q1
  5. 在远程队列字段中,输入 Q1。 【注:这里新建的远程队列的名称,一定要和远程机器上的队列名称相同,否则消息会发出去,但是远程机器的队列里面收不到消息,如上文提到的的Q1Q1,或者是如下图的testQtestQMQ中将消息发送至远程队列的配置第2张
  6. 在远程队列管理器字段中,输入 QM_APPLE
  7. 在传输队列字段中,输入 QM_APPLE
  8. 单击完成。 您现在已经创建了远程队列定义。
  9. 单击 QM_ORANGE 队列管理器。
  10. 右键单击队列文件夹,然后单击新建 > 本地队列 此时会打开新建本地队列向导。
  11. 在名称字段中,输入 QM_APPLE
  12. 在用途字段中,选择传输。
  13. 单击完成。 您现在已经在本地机器上创建了传输队列。

内容视图中将会显示新队列 Q1 QM_APPLE

如果内容视图中未显示这些队列,请单击位于内容视图顶部的“刷新”按钮 MQ中将消息发送至远程队列的配置第3张

使用 MQSC 来在发送队列管理器上创建队列

在发送机器上打开命令提示符,然后按照以下步骤操作:

  1. 通过输入以下命令来启动 MQSC

runmqsc

此时会显示一条消息,告诉您 MQSC 会话已启动。

  1. 通过输入以下命令来定义名为 QM_APPLE 的本地队列:

define qlocal (QM_APPLE) usage (xmitq)

此时会显示一条消息,告诉您何时创建了该队列。

  1. 通过输入以下命令来定义远程队列定义:

define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)

您现在已经在发送队列管理器上创建了队列。下一个任务是创建发送队列管理器和接收队列管理器之间的消息通道。

三、创建消息通道

使用 MQ 资源管理器创建消息通道

  1. 接收队列管理器 QM_APPLE 上,创建通道的接收方端:
    1. 在导航器视图中,展开先前创建的队列管理器 QM_APPLE,然后展开高级文件夹。
    2. 右键单击通道文件夹,然后单击新建 > 接收方通道... 此时会打开新建接收方通道向导。
    3. 在名称字段中,输入 QM_ORANGE.QM_APPLE
    4. 单击完成。 您现在已经在接收机器上创建了接收方通道。
  2. 发送队列管理器 QM_ORANGE 上,创建通道的发送方端:
    1. 展开先前创建的队列管理器 QM_ORANGE,然后展开高级文件夹。
    2. 右键单击通道文件夹,然后单击新建 > 发送方通道... 此时会打开新建发送方通道向导。
    3. 在名称字段中,输入 QM_ORANGE.QM_APPLE,然后单击下一步。
    4. 在连接名称字段中,输入接收机器的计算机名称或 IP 地址(您应该已经在系统管理员的帮助下获得此信息)。
    5. 在传输队列字段中,输入 QM_APPLE
    6. 单击完成。
    7. 单击通道文件夹。
    8. 右键单击 QM_ORANGE.QM_APPLE
    9. 从弹出菜单中,单击启动。
    10. 单击确定。 您现在已经在发送机器上创建了发送方通道。

注: 您不必启动接收方通道,因为它会在您设置发送方通道时自动启动(当设置发送方通道时,您指定了接收方通道的 IP 地址)。

现在,已经在接收队列管理器 QM_APPLE 上创建接收方通道 QM_ORANGE.QM_APPLE,并且已在发送队列管理器 QM_ORANGE 上创建发送方通道 QM_ORANGE.QM_APPLE。此外,您还已经启动发送方通道,这也自动地启动了接收方通道。

使用 MQSC 创建消息通道

接收机器上打开命令提示符,然后按照以下步骤操作:

  1. 通过输入以下命令来启动 MQSC

runmqsc

此时会显示一条消息,告诉您 MQSC 会话已启动。

  1. 通过输入以下命令来定义接收通道:

define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)

此时会显示一条消息,告诉您何时创建了该通道。

  1. 通过输入以下命令来停止 MQSC

end

将显示一些消息,然后会显示命令提示符。

发送机器上打开命令提示符,然后按照以下步骤操作:

  1. 通过输入以下命令来启动 MQSC

runmqsc

此时会显示一条消息,告诉您 MQSC 会话已启动。

  1. 通过输入以下命令来定义发送方通道:

define channel (QM_ORANGE.QM_APPLE) chltype (sdr) conname ('con-name') xmitq (QM_APPLE) trptype (tcp)

con-name是接收方队列管理器的 TCP 地址。

  1. 通过输入以下命令来启动通道:

start channel (QM_ORANGE.QM_APPLE)

  1. 通过输入以下命令来停止 MQSC

end

将显示一些消息,然后会显示命令提示符。

您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。下一个任务是发送测试消息。

四、将测试消息放入队列

使用 MQ 资源管理器测试消息放入队列

点右键到远程队列上,选择“放入测试消息”:

 

MQ中将消息发送至远程队列的配置第4张在弹出的界面中输入任何消息,点关闭或者是连续输入即可。

使用 MQSC 来将测试消息放入队列

在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。

使用 amqsput样本程序来将消息放入您创建的队列。

Windows®上,缺省情况下样本程序随 WebSphere® MQ 服务器或客户机一起安装。在 Linux®上,需要安装样本程序 RPM

打开命令提示符,然后按照以下步骤操作:

  1. 启动 amqsput样本程序,如下所示:
    • Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1
    • Windows 上,输入命令:amqsput Q1

此时会显示以下消息:

样本 amqsput0 启动
目标队列为 Q1

  1. 在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:

样本 amqsput0 结束

您现在已经创建了测试消息并将其放入远程队列。下一个任务是验证是否已接收到测试消息。

五、验证是否已发送测试消息

使用 WebSphere MQ 资源管理器来验证是否已发送测试消息

在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。

接收队列管理器上:

  1. 在导航器视图中,展开队列管理器 QM_APPLE
  2. 单击队列文件夹。
  3. 在内容视图中,右键单击队列 Q1,然后单击浏览消息...。 此时会打开消息浏览器,显示当前 Q1 上的消息列表。
  4. 双击列表中的最后一条消息以查看其属性对话框。

在属性对话框的数据页上,消息数据字段以人类可读的格式显示了消息的内容。

使用 MQSC 验证是否已发送测试消息

您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget样本程序来从队列中取回消息。

打开命令提示符,然后按照以下步骤操作:

启动 amqsget样本程序,如下所示:

  • Linux®上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsget Q1
  • Windows®上,输入命令:amqsget Q1

此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在短暂停留后,样本程序结束,并再次显示命令提示符。

恭喜!您现在已经完成了本教程。

 

如果文章对你用,请支持万事如意网址导航

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

免责声明:文章转载自《MQ中将消息发送至远程队列的配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇从零开始学习GDI+ (二) 基本概念与基本操作(八)golang--复杂类型之指针下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【Win 10 应用开发】MIDI 音乐合成——音符消息篇

在上一篇中,老周介绍了一些乐理知识,有了那些常识后,进行 MIDI 编程就简单得多了。尽管微软已经把 API 封装好,用起来也很简单,但是,如果你没有相应的音乐知识基础,你是无法进行 MIDI 编程的。 这一篇老周将给你讲述一下如何让你的声卡播放一个音符,这会包含两条消息,而且这两条消息是很常用的。 1、Note On:让 MIDI 设备(如果没有专业设备...

post请求body格式

在PostMan中用Post方式,Body有form-data,x-www-form-urlencoded,raw,binary四种。 其中raw又分以下7种。 现在来区分一下: form-data是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的...

Linux 系统编程 学习:3-进程间通信1:Unix IPC(2)信号

背景 上一讲我们介绍了Unix IPC中的2种管道。 回顾一下上一讲的介绍,IPC的方式通常有: Unix IPC包括:管道(pipe)、命名管道(FIFO)与信号(Signal) System V IPC:消息队列、信号量、共享内存 Socket(支持不同主机上的两个进程IPC) 我们在这一讲介绍Unix IPC,中有关信号(Signal)的处理。...

详解如何实现在线聊天系统中的实时消息获取

序言 传统web浏览器应用采用客户端主动请求方式,只有在收到浏览器请求时服务端才返回消息,这种模式已经不能满足日益多样化的web应用需求,例如: 在线聊天系统:需要实时获取聊天消息。 实时监控系统:需要实时获取监控对象状态。如仪表读数、告警信息等。 随着html技术演进,发展出了多种服务器推送技术,用于服务器向浏览器客户端推送消息。 Ajax轮询 采用Aj...

深入详解美团点评CAT跨语言服务监控(一) CAT简介与部署

  前言: CAT是一个实时和接近全量的监控系统,它侧重于对Java应用的监控,除了与点评RPC组件融合的很好之外,他将会能与Spring、MyBatis、Dubbo 等框架以及Log4j 等结合,支持PHP、C++、Go等多语言应用,基本接入了美团点评上海侧所有核心应用。目前在中间件(MVC、RPC、数据库、缓存等)框架中得到广泛应用,为美团点评各业务线...

Win32中常用消息

一 、WM_PAINT消息    1 WM_PAINT的产生       由于窗口的互相覆盖等,产生需要绘制的区域,那么会产生WM_PAINT消息。 一般情况下,不直接发送WM_PAINT消息,通过API声明需要绘制区域,来产生WM_PAINT消息.    例如,可以使用InvalidateRect声明一个需要重新绘制的区域.      2 WM_PAIN...