摘自MQ资源管理器帮助文档V7
在开始学习本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址、MQ的端口号、队列管理器、接收(远程机器)或者是发送的队列(本地机器)名称。
消息传递如图示:
本教程介绍了如何设置一台计算机上的队列管理器 QM_ORANGE 与另一台计算机上的队列管理器 QM_APPLE 之间的消息传递。在第一台计算机上创建的消息被传递到第二台计算机上的队列 Q1(此队列被称为远程队列)。
要点: 在本教程中,您将使用创建了队列管理器 QM_APPLE 和本地队列 Q1 的机器作为接收机器。
您将在发送机器上设置队列管理器和队列(远程队列定义和传输队列)。然后定义消息通道。最后,您将把测试消息放入发送机器,并从接收机器上的队列获取该消息。
完成本教程后,您应该基本了解如何使用远程队列定义来设置和使用 WebSphere® MQ 消息传递。
一、 在发送机器上创建队列管理器
二、 在发送队列管理器上创建队列
三、 创建消息通道
四、 将测试消息放入队列
五、 验证是否已发送测试消息
一、在发送机器上创建队列管理器
在发送机器上使用 WebSphere MQ 资源管理器创建队列管理器
无法远程完成此过程。必须在发送机器上本地完成此过程。
WebSphere MQ 资源管理器的导航器视图中的队列管理器文件夹中会显示表示此队列管理器的图标,并且在您创建队列管理器后,该队列管理器会自动开始运行。
使用 MQSC 创建发送队列管理器
在发送机器上打开命令提示符,然后按照以下步骤操作:
crtmqm -q QM_ORANGE
此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。
strmqm
此时会显示一条消息,告诉您何时启动了该队列管理器。
runmqlsr -m QM_APPLE -t TCP -p (port number)
注: 如果未使用 -p 参数指定任何端口,那么使用缺省端口 1414,但请注意,不能对发送方和接收方使用相同的端口号,因此,如果其中一个为 1414,那么另一个就应该是 1415。
您现在已经创建了发送队列管理器。下一个任务是在此队列管理器上创建队列。
二、在发送队列管理器上创建队列
使用 WebSphere MQ 资源管理器在发送队列管理器上创建队列
在发送队列管理器上:
内容视图中将会显示新队列 Q1 和 QM_APPLE。
如果内容视图中未显示这些队列,请单击位于内容视图顶部的“刷新”按钮 。
使用 MQSC 来在发送队列管理器上创建队列
在发送机器上打开命令提示符,然后按照以下步骤操作:
runmqsc
此时会显示一条消息,告诉您 MQSC 会话已启动。
define qlocal (QM_APPLE) usage (xmitq)
此时会显示一条消息,告诉您何时创建了该队列。
define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)
您现在已经在发送队列管理器上创建了队列。下一个任务是创建发送队列管理器和接收队列管理器之间的消息通道。
三、创建消息通道
使用 MQ 资源管理器创建消息通道
注: 您不必启动接收方通道,因为它会在您设置发送方通道时自动启动(当设置发送方通道时,您指定了接收方通道的IP 地址)。
现在,已经在接收队列管理器 QM_APPLE 上创建接收方通道 QM_ORANGE.QM_APPLE,并且已在发送队列管理器 QM_ORANGE 上创建发送方通道 QM_ORANGE.QM_APPLE。此外,您还已经启动发送方通道,这也自动地启动了接收方通道。
使用 MQSC 创建消息通道
在接收机器上打开命令提示符,然后按照以下步骤操作:
runmqsc
此时会显示一条消息,告诉您 MQSC 会话已启动。
define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)
此时会显示一条消息,告诉您何时创建了该通道。
end
将显示一些消息,然后会显示命令提示符。
在发送机器上打开命令提示符,然后按照以下步骤操作:
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)
end
将显示一些消息,然后会显示命令提示符。
您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。下一个任务是发送测试消息。
四、将测试消息放入队列
使用 MQ 资源管理器测试消息放入队列
点右键到远程队列上,选择“放入测试消息…”:
使用 MQSC 来将测试消息放入队列
在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。
使用 amqsput 样本程序来将消息放入您创建的队列。
在 Windows® 上,缺省情况下样本程序随 WebSphere® MQ 服务器或客户机一起安装。在 Linux® 上,需要安装样本程序 RPM。
打开命令提示符,然后按照以下步骤操作:
此时会显示以下消息:
样本 amqsput0 启动
目标队列为 Q1
样本 amqsput0 结束
您现在已经创建了测试消息并将其放入远程队列。下一个任务是验证是否已接收到测试消息。
五、验证是否已发送测试消息
使用 WebSphere MQ 资源管理器来验证是否已发送测试消息
在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。
在接收队列管理器上:
在属性对话框的数据页上,消息数据字段以人类可读的格式显示了消息的内容。
使用 MQSC 验证是否已发送测试消息
您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget 样本程序来从队列中取回消息。
打开命令提示符,然后按照以下步骤操作:
启动 amqsget 样本程序,如下所示:
此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在短暂停留后,样本程序结束,并再次显示命令提示符。
恭喜!您现在已经完成了本教程。