在学习本教程之前,你需要先在linxu环境下安装MQ并配置完成,可以百度一下教程很多,很简单。(入职第一天老大给了一个任务四天时间学习IBM MQSeries并写一份学习报告,现在基本上初步对MQ消息队列有了初步的了解,写一些笔记总结总结,也方便大家学习...)。注:部分内容转
本教程介绍了如何设置一台计算机上的队列管理器 QM_ORANGE 与另一台计算机上的队列管理器 QM_APPLE 之间的消息传递。在第一台计算机上创建的消息
被传递到第二台计算机上的队列 Q1(此队列被称为远程队列)。要点: 在本教程中,您将使用创建了队列管理器 QM_APPLE 和本地队列 Q1 的机器作为接收机器。
您将在发送机器上设置队列管理器和队列(远程队列定义和传输队列)。然后定义消息通道。最后,您将把测试消息放入发送机器,并从接收机器上的队列获取该消
息。
完成本教程后,您基本了解如何使用远程队列定义来设置和使用 WebSphere MQ消息传递。
一、在发送机器上创建队列管理器
使用 MQSC 创建发送队列管理器
1.通过输入以下命令来创建名为qm_orange的缺省队列管理器:
crtmqm -q QM_ORANGE
此时会显示消息,告诉您已经创建了队列和缺省WebSphere MQ对象。
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。
二.在发送队列管理器上创建队列
使用 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上
在接收机器上打开命令提示符,然后按照以下步骤操作:
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)
此时会显示一条消息,告诉您何时创建了该队列。
四.创建消息通道
使用 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)
3.通过输入以下命令来启动通道:
start channel (QM_ORANGE.QM_APPLE)
4.通过输入以下命令来停止 MQSC
end
您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。下一
个任务是发送测试消息。
五.将测试消息放入队列
使用 MQSC 资源管理器测试消息放入队列
您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget 样本程序来从队列中取回消息。
您在接收机器(主管队列管理器 QM_APPLE 的机器)上执行此任务。使用 amqsget 样本程序来从队列中取回消息。
切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsget Q1