在开始学习本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址、MQ的端口号、队列管理器、接收(远程机器)或者是发送的队列(本地机器)名称。
消息传递如图示:
本教程介绍了如何设置一台计算机上的队列管理器 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对象。
2.通过输入以下命令来启动此队列管理器:
strmqm QM_ORANGE
此时会显示一条消息,告诉您何时启动了该队列管理器。
3.进入控制台创建并启动侦听器
runmqsc QM_ORANGE def listener(LISTENER.TCP) TRPTYPE(TCP) PORT(1415) CONTROL(QMGR) start LISTENER(LISTENER.TCP) end
注: 如果未使用 -p 参数指定任何端口,那么使用缺省端口 1414,但请注意,不能对发送方和接收方使用相同的端口号,因此,如果其中一个为 1414,那么另一个就应该是 1415。
您现在已经创建了发送队列管理器,下一个任务是在此队列管理器上创建队列。
二.在发送队列管理器上创建队列
使用 WebSphere MQ 资源管理器在发送队列管理器上创建队列
在发送队列管理器上:
1.在导航器视图中,展开队列管理器文件夹。
2.展开队列管理器 QM_ORANGE。
3.右键单击队列文件夹,然后单击新建 > 远程队列定义... 此时会打开新建远程队列定义向导。
4.在名称字段中,输入 Q1。
5.在远程队列字段中,输入 Q1。 【注:这里新建的远程队列的名称,一定要和远程机器上的队列名称相同,否则消息会发出去,但是远程机器的队列里面收不到消息,如上文提到的的Q1与Q1,或者是如下图的testQ与testQ:】
6.在远程队列管理器字段中,输入 QM_APPLE。
7.在传输队列字段中,输入 QM_APPLE。
8.单击完成。 您现在已经创建了远程队列定义。
9.单击 QM_ORANGE 队列管理器。
10.右键单击队列文件夹,然后单击新建 > 本地队列 此时会打开新建本地队列向导。
11.在名称字段中,输入 QM_APPLE。
12.在用途字段中,选择传输。
13.单击完成。
您现在已经在本地机器上创建了传输队列。内容视图中将会显示新队列 Q1 和 QM_APPLE,如果内容视图中未显示这些队列,请单击位于内容视图顶部的“刷新”按钮 。
使用 MQSC 来在发送队列管理器上创建队列
在发送机器上打开命令提示符,然后按照以下步骤操作:
1.通过输入以下命令来启动 MQSC:
runmqsc QM_ORANGE
此时会显示一条消息,告诉您 MQSC 会话已启动。
2.通过输入以下命令来定义名为 QM_APPLE 的本地队列:
define qlocal(QM_APPLE) usage(xmitq)
此时会显示一条消息,告诉您何时创建了该队列。
3.通过输入以下命令来定义远程队列定义:
define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)
您现在已经在发送队列管理器上创建了队列。下一个任务是创建发送队列管理器和接收队列管理器之间的消息通道。
三.创建接收队列管理器,并创建接收队列
使用 MQSC 创建接收队列管理器
注:我这里的接收队列管理器是创建在同一台机器上的另外MQ上(Installation2)
在接收机器上打开命令提示符,然后按照以下步骤操作:
1.通过输入以下命令来创建名为 QM_APPLE的缺省队列管理器:
crtmqm -q QM_APPLE
此时会显示消息,告诉您已经创建了队列和缺省WebSphere MQ对象。
2.通过输入以下命令来启动此队列管理器:
strmqm QM_APPLE
此时会显示一条消息,告诉您何时启动了该队列管理器。
3.进入控制台创建并启动侦听器
runmqsc QM_APPLE def listener(LISTENER.TCP) TRPTYPE(TCP) PORT(1416) CONTROL(QMGR) start LISTENER(LISTENER.TCP) end
使用 MQSC 来在接收队列管理器上创建接收队列
在接收机器上打开命令提示符,然后按照以下步骤操作:
1.通过输入以下命令来启动 MQSC:
runmqsc QM_APPLE
此时会显示一条消息,告诉您 MQSC 会话已启动。
2.通过输入以下命令来定义名为 QM_APPLE 的本地队列:
define qlocal(Q1) usage(xmitq)
此时会显示一条消息,告诉您何时创建了该队列。
四.创建消息通道
使用 MQ 资源管理器创建消息通道
1.在接收队列管理器 QM_APPLE 上,创建通道的接收方端:
a.在导航器视图中,展开先前创建的队列管理器 QM_APPLE,然后展开高级文件夹。
b.右键单击通道文件夹,然后单击新建 > 接收方通道... 此时会打开新建接收方通道向导。
c.在名称字段中,输入QM_ORANGE.QM_APPLE。
d.单击完成。 您现在已经在接收机器上创建了接收方通道。
2.在发送队列管理器 QM_ORANGE 上,创建通道的发送方端:
a.展开先前创建的队列管理器 QM_ORANGE,然后展开高级文件夹。
b.右键单击通道文件夹,然后单击新建 > 发送方通道... 此时会打开新建发送方通道向导。
c.在名称字段中,输入 QM_ORANGE.QM_APPLE,然后单击下一步。
d.在连接名称字段中,输入接收机器的计算机名称或 IP 地址(您应该已经在系统管理员的帮助下获得此信息)。
e.在传输队列字段中,输入 QM_APPLE。
f.单击完成。
g.单击通道文件夹。
h.右键单击 QM_ORANGE.QM_APPLE。
i.从弹出菜单中,单击启动。
j.单击确定。
您现在已经在发送机器上创建了发送方通道。
注:您不必启动接收方通道,因为它会在您设置发送方通道时自动启动(当设置发送方通道时,您指定了接收方通道的 IP 地址)。
现在,已经在接收队列管理器 QM_APPLE 上创建接收方通道 QM_ORANGE.QM_APPLE,并且已在发送队列管理器 QM_ORANGE 上创建发送方通道 QM_ORANGE.QM_APPLE。此外,您还已经启动发送方通道,这也自动地启动了接收方通道。
使用 MQSC 创建消息通道
在接收机器上打开命令提示符,然后按照以下步骤操作:
1.通过输入以下命令来启动 MQSC:
runmqsc QM_APPLE
此时会显示一条消息,告诉您 MQSC 会话已启动。
2.通过输入以下命令来定义接收通道:
define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)
此时会显示一条消息,告诉您何时创建了该通道。
3.通过输入以下命令来停止 MQSC:
end
将显示一些消息,然后会显示命令提示符。
在发送机器上打开命令提示符,然后按照以下步骤操作:
1.通过输入以下命令来启动 MQSC:
runmqsc QM_ORANGE
此时会显示一条消息,告诉您 MQSC 会话已启动。
2.通过输入以下命令来定义发送方通道:
define channel(QM_ORANGE.QM_APPLE) chltype (sdr) conname ('con-name') xmitq (QM_APPLE) trptype (tcp)
值con-name 是接收方队列管理器的 TCP 地址。
3.通过输入以下命令来启动通道:
start channel (QM_ORANGE.QM_APPLE)
4.通过输入以下命令来停止 MQSC
end
将显示一些消息,然后会显示命令提示符。
您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。下一个任务是发送测试消息。
五.将测试消息放入队列
使用 MQ 资源管理器测试消息放入队列
点右键到远程队列Q1上,选择“放入测试消息…”:
在弹出的界面中输入任何消息,点关闭或者是连续输入即可,如下输入“Hi WebSphere MQ"即点“放入消息”。
使用 MQSC 来将测试消息放入队列
在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。
使用 amqsput 样本程序来将消息放入您创建的队列。
在Windows上,缺省情况下样本程序随 WebSphere MQ服务器或客户机一起安装。在 Linux上,需要安装样本程序RPM。
打开命令提示符,然后按照以下步骤操作:
1.启动 amqsput 样本程序,如下所示:
a.在 Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1
b.在 Windows 上,输入命令:amqsput Q1
此时会显示以下消息:
Sample AMQSPUT0 start target queue is Q1
2.在一行或多行上输入某些消息文本,然后按Enter键两次,此时会显示以下消息:
Sample AMQSPUT0 end
您现在已经创建了测试消息并将其放入远程队列,下一个任务是验证是否已接收到测试消息。
六.验证是否已发送测试消息
使用 WebSphere MQ 资源管理器来验证是否已发送测试消息
在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。
在接收队列管理器上:
1.在导航器视图中,展开队列管理器 QM_APPLE。
2.单击队列文件夹。
3.在内容视图中,右键单击队列 Q1,然后单击浏览消息...。 此时会打开消息浏览器,显示当前 Q1 上的消息列表。
4.双击列表中的最后一条消息以查看其属性对话框。
在属性对话框的数据页上,消息数据字段以人类可读的格式显示了消息的内容。
使用 MQSC 验证是否已发送测试消息
您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget 样本程序来从队列中取回消息。
打开命令提示符,然后按照以下步骤操作:
启动 amqsget 样本程序,如下所示:
a.在Linux上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsget Q1
b.在 Windows上,输入命令:amqsget Q1
此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在短暂停留后,样本程序结束,并再次显示命令提示符。
文章来源:http://blog.csdn.net/fenglibing/article/details/4160639
相关推荐
"配置 WebSphere MQ 中的消息发送到远程队列" WebSphere MQ 是一种消息 middleware,旨在提供可靠、快速和安全的消息传递机制。在本教程中,我们将学习如何在 WebSphere MQ 中将消息发送到远程队列。 在开始学习本...
3. **配置appconfig文件**:在C#项目中,你需要在appconfig文件中设置连接到MQ服务器的参数,包括队列管理器名称、主机名、端口、通道名称和队列名称。 ```xml <add key="Host" value="MQ_SERVER_IP"/> ...
总结一下,使用Delphi 7向IBM WebSphere MQ远程队列发送消息涉及的知识点包括: - IBM WebSphere MQ中间件原理 - Delphi WinAPI编程 - MQ API的使用,如`MQEnvironment`, `MQConnect`, `MQOpen`, `MQPut`, `MQClose`...
在消息队列(Message Queue,简称MQ)的学习过程中,理解和掌握本地队列与远程队列的使用是至关重要的。本地队列指的是在同一系统上创建并管理的消息队列,而远程队列则是指跨系统的消息传递。本文将通过具体的实例...
在WebSphere MQ中,我们可以通过以下步骤创建一个简单的JMS发送消息的实例: 1. **配置WebSphere MQ**:首先,你需要安装并配置WebSphere MQ服务器。这包括设置队列管理器、定义队列以及配置通道以允许客户端连接。...
本实例将聚焦于WebSphere MQ的基本应用,即“发送消息”。 首先,我们需要了解消息中间件的基本概念。消息中间件作为一个独立的服务,负责在不同的应用程序之间传递数据,使得它们可以解耦并独立工作。WebSphere MQ...
使用WebSphere MQ管理远程队列管理器.doc
IBM WebSphere MQ 是一种基于消息队列的中间件,用于实现不同的应用程序之间的异步通信。下面是对 IBM WebSphere MQ 的入门教程的总结,涵盖了 WebSphere MQ 的原理、体系结构、重要特点和应用场景等方面的知识点。 ...
2. 将消息发送至远程队列,通过设置侦听器和通道,在两个不同的队列管理器之间发送和接收消息。 3. 在客户机-服务器配置上发送消息,这是更复杂的场景,涉及到服务器端的连接通道和侦听器的配置,以及客户端程序如何...
* 架构说明:WebSphere MQ 的架构基于消息队列,能够实现高效、可靠和灵活的消息传递。 产品功能特性 WebSphere MQ 的产品功能特性包括: * 增强了订阅/发布的易用性:WebSphere MQ 支持订阅/发布式的消息传递,...
配置包括定义队列管理器、创建消息队列、设置通道和网络通信参数等。对于试用版,可能有时间限制和功能限制,务必查看许可协议。 5. **使用场景**:WebSphere MQ广泛应用于金融交易、供应链管理、物联网(IoT)设备...
IBM WEBSPHERE MQ实现本地队列消息传送 在这个资源中,我们将详细介绍如何使用 IBM...在这个资源中,我们详细介绍了如何使用 WebSphere MQ 实现本地队列消息传送,我们还提供了一个数据发送接收测试示例,供读者参考。
本文将说明如何使用 WebSphere MQ Java API 创建两个示例 Java 应用程序:MQSend(用于向队列发送消息)和 MQGet(用于从队列接收消息)。 示例应用程序 MQSend 应用程序用于向队列发送消息。该应用程序使用 ...
在IBM WebSphere MQ中,消息持久化是一个重要的特性,它确保了当队列管理器发生异常时,消息数据的安全性和一致性。以下是对IBM WebSphere MQ消息持久化相关知识点的详细说明。 首先,消息持久化是指消息的可靠性...
WebSphere MQ 通道设置与测试 WebSphere MQ 是 IBM 提供的一种消息队列 middleware,它允许不同的应用程序之间进行异步通信。WebSphere MQ 通道是将消息从一个队列传输到另一个队列的过程。下面将对 WebSphere MQ ...
3. **创建远程队列定义**:定义名为 RQ_88 的远程队列,指定远程队列名称为 LQ_88,远程队列管理器名称为 QM_88,使用的传输队列为 XQ_88。 4. **创建发送方通道**:创建名为 00.88 的通道,选择传输协议为 TCP/IP,...
4. **发送消息**:创建`Message`对象,设置消息内容,然后通过`Queue`对象的`Put`方法将消息放入指定的队列。队列可以预先在MQ管理控制台中定义,或者在代码中动态创建。 5. **接收消息**:使用`Get`方法从队列中...
1. 发送消息:通过编程接口创建消息,指定目标队列,然后发送。 2. 接收消息:应用程序监听队列,当有新消息到达时,将其从队列中取出并处理。 3. 消息确认:消息接收方确认收到消息后,队列管理器将删除消息,以...
1. **消息队列模型**:理解消息如何在队列中存储和传递,以及不同类型的队列(如本地队列、远程队列、死信队列等)。 2. **WebSphere MQ架构**:掌握WebSphere MQ的组件和工作原理,包括队列管理器、通道、队列和...
3. **发送消息到队列** - 使用AMQSPUT程序向本地队列QL.A、QL.B以及别名队列QA.A、QA.B发送混合的持久性和非持久性消息。例如: `amqsput QL.A [qmgrname]` `amqsput QA.A [qmgrname]` `amqsput QL.B ...