MQ中将消息发送至远程队列的配置
摘自MQ资源管理器帮助文档V7
在开始学习本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址、MQ的端口号、队列管理器、接收(远程机器)或者是发送的队列(本地机器)名称。
消息传递如图示:
本教程介绍了如何设置一台计算机上的队列管理器 QM_ORANGE 与另一台计算机上的队列管理器 QM_APPLE 之间的消息传递。在第一台计算机上创建的消息被传递到第二台计算机上的队列 Q1(此队列被称为远程队列)。
要点: 在本教程中,您将使用创建了队列管理器 QM_APPLE 和本地队列 Q1 的机器作为接收机器。
您将在发送机器上设置队列管理器和队列(远程队列定义和传输队列)。然后定义消息通道。最后,您将把测试消息放入发送机器,并从接收机器上的队列获取该消息。
完成本教程后,您应该基本了解如何使用远程队列定义来设置和使用 WebSphere® MQ 消息传递。
一、 在发送机器上创建队列管理器
二、 在发送队列管理器上创建队列
三、 创建消息通道
四、 将测试消息放入队列
五、 验证是否已发送测试消息
一、在发送机器上创建队列管理器
在发送机器上使用 WebSphere MQ 资源管理器创建队列管理器
无法远程完成此过程。必须在发送机器上本地完成此过程。
- 启动 WebSphere MQ 资源管理器。
- 在导航器视图中,右键单击队列管理器文件夹,然后单击新建 > 队列管理器 此时会打开创建队列管理器向导。
- 在队列管理器名称字段中,输入 QM_ORANGE。
- 选中设置为缺省队列管理器复选框。
- 单击下一步两次以转至向导的步骤 3。
- 确保选中启动队列管理器复选框。
- 确保选中自动启动队列管理器复选框。
- 单击下一步以转至向导的步骤 4。
- 确保选中创建配置用于 TCP/IP 的侦听器复选框。
- 如果完成按钮不可用,那么在侦听端口号字段中输入另一个端口号。 如果当前值为 1414,那么尝试输入 1415 或 1416。
- 单击完成。
WebSphere MQ 资源管理器的导航器视图中的队列管理器文件夹中会显示表示此队列管理器的图标,并且在您创建队列管理器后,该队列管理器会自动开始运行。
使用 MQSC 创建发送队列管理器
在发送机器上打开命令提示符,然后按照以下步骤操作:
- 通过输入以下命令来创建名为 QM_ORANGE 的缺省队列管理器:
crtmqm -q QM_ORANGE
此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。
- 通过输入以下命令来启动此队列管理器:
strmqm
此时会显示一条消息,告诉您何时启动了该队列管理器。
- 现在,您必须通过输入以下命令来创建侦听器:
runmqlsr -m QM_APPLE -t TCP -p (port number)
注: 如果未使用 -p 参数指定任何端口,那么使用缺省端口 1414,但请注意,不能对发送方和接收方使用相同的端口号,因此,如果其中一个为 1414,那么另一个就应该是 1415。
您现在已经创建了发送队列管理器。下一个任务是在此队列管理器上创建队列。
二、在发送队列管理器上创建队列
使用 WebSphere MQ 资源管理器在发送队列管理器上创建队列
在发送队列管理器上:
- 在导航器视图中,展开队列管理器文件夹。
- 展开队列管理器 QM_ORANGE。
- 右键单击队列文件夹,然后单击新建 > 远程队列定义... 此时会打开新建远程队列定义向导。
- 在名称字段中,输入 Q1。
- 在远程队列字段中,输入 Q1。 【注:这里新建的远程队列的名称,一定要和远程机器上的队列名称相同,否则消息会发出去,但是远程机器的队列里面收不到消息,如上文提到的的Q1与Q1,或者是如下图的testQ与testQ:】
- 在远程队列管理器字段中,输入 QM_APPLE。
- 在传输队列字段中,输入 QM_APPLE。
- 单击完成。 您现在已经创建了远程队列定义。
- 单击 QM_ORANGE 队列管理器。
- 右键单击队列文件夹,然后单击新建 > 本地队列 此时会打开新建本地队列向导。
- 在名称字段中,输入 QM_APPLE。
- 在用途字段中,选择传输。
- 单击完成。 您现在已经在本地机器上创建了传输队列。
内容视图中将会显示新队列 Q1 和 QM_APPLE。
如果内容视图中未显示这些队列,请单击位于内容视图顶部的“刷新”按钮 。
使用 MQSC 来在发送队列管理器上创建队列
在发送机器上打开命令提示符,然后按照以下步骤操作:
- 通过输入以下命令来启动 MQSC:
runmqsc
此时会显示一条消息,告诉您 MQSC 会话已启动。
- 通过输入以下命令来定义名为 QM_APPLE 的本地队列:
define qlocal (QM_APPLE) usage (xmitq)
此时会显示一条消息,告诉您何时创建了该队列。
- 通过输入以下命令来定义远程队列定义:
define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)
您现在已经在发送队列管理器上创建了队列。下一个任务是创建发送队列管理器和接收队列管理器之间的消息通道。
三、创建消息通道
使用 MQ 资源管理器创建消息通道
-
在接收队列管理器 QM_APPLE 上,创建通道的接收方端:
- 在导航器视图中,展开先前创建的队列管理器 QM_APPLE,然后展开高级文件夹。
- 右键单击通道文件夹,然后单击新建 > 接收方通道... 此时会打开新建接收方通道向导。
- 在名称字段中,输入 QM_ORANGE.QM_APPLE。
- 单击完成。 您现在已经在接收机器上创建了接收方通道。
-
在发送队列管理器 QM_ORANGE 上,创建通道的发送方端:
- 展开先前创建的队列管理器 QM_ORANGE,然后展开高级文件夹。
- 右键单击通道文件夹,然后单击新建 > 发送方通道... 此时会打开新建发送方通道向导。
- 在名称字段中,输入 QM_ORANGE.QM_APPLE,然后单击下一步。
- 在连接名称字段中,输入接收机器的计算机名称或 IP 地址(您应该已经在系统管理员的帮助下获得此信息)。
- 在传输队列字段中,输入 QM_APPLE。
- 单击完成。
- 单击通道文件夹。
- 右键单击 QM_ORANGE.QM_APPLE。
- 从弹出菜单中,单击启动。
- 单击确定。 您现在已经在发送机器上创建了发送方通道。
注: 您不必启动接收方通道,因为它会在您设置发送方通道时自动启动(当设置发送方通道时,您指定了接收方通道的 IP 地址)。
现在,已经在接收队列管理器 QM_APPLE 上创建接收方通道 QM_ORANGE.QM_APPLE,并且已在发送队列管理器 QM_ORANGE 上创建发送方通道 QM_ORANGE.QM_APPLE。此外,您还已经启动发送方通道,这也自动地启动了接收方通道。
使用 MQSC 创建消息通道
在接收机器上打开命令提示符,然后按照以下步骤操作:
- 通过输入以下命令来启动 MQSC:
runmqsc
此时会显示一条消息,告诉您 MQSC 会话已启动。
- 通过输入以下命令来定义接收通道:
define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)
此时会显示一条消息,告诉您何时创建了该通道。
- 通过输入以下命令来停止 MQSC:
end
将显示一些消息,然后会显示命令提示符。
在发送机器上打开命令提示符,然后按照以下步骤操作:
- 通过输入以下命令来启动 MQSC:
runmqsc
此时会显示一条消息,告诉您 MQSC 会话已启动。
- 通过输入以下命令来定义发送方通道:
define channel (QM_ORANGE.QM_APPLE) chltype (sdr) conname ('con-name') xmitq (QM_APPLE) trptype (tcp)
值 con-name 是接收方队列管理器的 TCP 地址。
- 通过输入以下命令来启动通道:
start channel (QM_ORANGE.QM_APPLE)
- 通过输入以下命令来停止 MQSC:
end
将显示一些消息,然后会显示命令提示符。
您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。下一个任务是发送测试消息。
四、将测试消息放入队列
使用 MQ 资源管理器测试消息放入队列
点右键到远程队列上,选择“放入测试消息…”:
在弹出的界面中输入任何消息,点关闭或者是连续输入即可。
使用 MQSC 来将测试消息放入队列
在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。
使用 amqsput 样本程序来将消息放入您创建的队列。
在 Windows®上,缺省情况下样本程序随 WebSphere® MQ 服务器或客户机一起安装。在 Linux®上,需要安装样本程序 RPM。
打开命令提示符,然后按照以下步骤操作:
-
启动 amqsput 样本程序,如下所示:
- 在 Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1
- 在 Windows 上,输入命令:amqsput Q1
此时会显示以下消息:
样本 amqsput0 启动
目标队列为 Q1
- 在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:
样本 amqsput0 结束
您现在已经创建了测试消息并将其放入远程队列。下一个任务是验证是否已接收到测试消息。
五、验证是否已发送测试消息
使用 WebSphere MQ 资源管理器来验证是否已发送测试消息
在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。
在接收队列管理器上:
- 在导航器视图中,展开队列管理器 QM_APPLE。
- 单击队列文件夹。
- 在内容视图中,右键单击队列 Q1,然后单击浏览消息...。 此时会打开消息浏览器,显示当前 Q1 上的消息列表。
- 双击列表中的最后一条消息以查看其属性对话框。
在属性对话框的数据页上,消息数据字段以人类可读的格式显示了消息的内容。
使用 MQSC 验证是否已发送测试消息
您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget 样本程序来从队列中取回消息。
打开命令提示符,然后按照以下步骤操作:
启动 amqsget 样本程序,如下所示:
- 在 Linux®上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsget Q1
- 在 Windows®上,输入命令:amqsget Q1
此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在短暂停留后,样本程序结束,并再次显示命令提示符。
恭喜!您现在已经完成了本教程。
分享到:
相关推荐
"配置 WebSphere MQ 中的消息发送到远程队列" WebSphere MQ 是一种消息 middleware,旨在提供可靠、快速和安全的消息传递机制。在本教程中,我们将学习如何在 WebSphere MQ 中将消息发送到远程队列。 在开始学习本...
### IBM MQ将消息发送至远程队列的知识点详解 #### 一、安装MQ IBM MQ的安装过程是在两台不同的主机上进行的。首先需要确保介质目录已经准备好,并且能够执行安装所需的命令。 ##### 安装步骤: 1. **接受...
在消息队列(Message Queue,简称MQ)的学习过程中,理解和掌握本地队列与远程队列的使用是至关重要的。本地队列指的是在同一系统上创建并管理的消息队列,而远程队列则是指跨系统的消息传递。本文将通过具体的实例...
总结一下,使用Delphi 7向IBM WebSphere MQ远程队列发送消息涉及的知识点包括: - IBM WebSphere MQ中间件原理 - Delphi WinAPI编程 - MQ API的使用,如`MQEnvironment`, `MQConnect`, `MQOpen`, `MQPut`, `MQClose`...
在IBM Message Queue (MQ) 系统中,远程队列是一种允许不同MQ队列管理器之间交换消息的关键组件。在本场景中,我们探讨的是如何在MQ客户端建立一个远程队列,以实现在两个MQ之间进行消息的流转。以下是详细步骤和...
在IBM的Message Queuing (MQ)技术中,队列管理器是核心组件,负责管理和调度...在实际操作中,MQ配置可能会更复杂,包括安全设置、性能优化和故障恢复策略等。理解这些基本概念和操作是有效使用和管理MQ系统的关键。
JAVA向MQ发送消息, JAVA向MQ发送消息, JAVA向MQ发送消息,
3. **配置appconfig文件**:在C#项目中,你需要在appconfig文件中设置连接到MQ服务器的参数,包括队列管理器名称、主机名、端口、通道名称和队列名称。 ```xml <add key="Host" value="MQ_SERVER_IP"/> ...
2. **创建远程队列**:在发送方队列管理器中定义一个远程队列,以指向接收方的队列管理器。 3. **创建发送通道**:创建一个用于发送消息的通道,并配置相应的地址和端口号。 4. **设置缺省传输队列**:确保发送通道...
mq资源。通信,消息队列,远程队列,本地队列,队列缓存等
使用WebSphere MQ管理远程队列管理器.doc
- **远程队列**: MQ_SEND_BPC - **发送通道**: TRAN.SIG - **接收通道**: SIG.TRAN - **服务器连接通道**: CHANNEL **2. ESB系统MQ配置信息:** - **IP**: 127.0.0.1 - **队列管理器名称**: MQ_ESB - **监听通道**...
XXL-MQ是一款专为Java开发设计的轻量级分布式消息队列系统,它提供了高效、稳定的消息传递功能,能够帮助开发者在分布式环境下构建可靠的数据通信。作为一款强大的中间件,XXL-MQ旨在解决微服务架构中的异步处理、...
描述:java语言开发,支持发送或获取指定mq队列的消息内容。 使用说明: 1、配置mqConfig中的mq地址和监控的队列名 2、把mqConfig配置文件放到mq-test-1.0.0-SNAPSHOT.jar中 3、点击receive.bat启动队列接收程序,...
队列管理器的配置决定了消息的存储、路由和处理策略。 4. **通道(Channel)**:通道是两个队列管理器间单向的通信连接,用于消息的传输。一对通道可以实现双向通信。根据消息流向,分为输入通道和输出通道。 ...
5. **发送消息**:调用MQQueue的put()方法,将MQMessage对象放入队列。 以下是一个简单的Java发送消息示例: ```java import com.ibm.mq.MQQueue; import com.ibm.mq.MQQueueManager; import com.ibm.mq.MQMessage;...
配置文件在ActiveMQ中至关重要,它们定义了队列、主题、连接工厂以及其他参数。例如,`broker.xml`是主要的配置文件,用于设置服务器端的配置,如监听端口、存储策略等。`activemq-jms.xml`则包含了JMS相关的配置,...
- 生产者API:用于创建、发送消息到MQ服务器。 - 消费者API:用于订阅主题,从MQ服务器接收并处理消息。 3. **消息模型**: - 点对点模型(P2P):每个消息只有一个消费者,适合一对一通信。 - 发布/订阅模型...