在之前的博文中记录了单机Linux环境下消息的发送与接收(https://blog.youkuaiyun.com/Never_Blue/article/details/97886647),本博文以2个Queue Manager为例记录在多个Queue Manager之间消息的发送与接收。
测试步骤
1、创建2个队列管理器
2、向其中1个队列管理器放入测试消息
3、从另1个队列管理器取出测试消息
在Linux中使用IBM MQ自带的MQSC实现以上步骤:
1、创建队列管理器QM_ORI
在[ibm_mq_install]/mqm/bin目录执行([ibm_mq_install]指本机安装IBM MQ的目录,一般默认为/opt目录):
crtmqm QM_ORI //创建队列管理器
strmqm QM_ORI //启动队列管理器
2、在队列管理器QM_ORI中创建传输队列Q1、创建远程队列ORI_TRANS和发送通道QM_ORI.QM_DES。
在[ibm_mq_install]/mqm/bin目录执行:
runmqsc QM_ORI
创建的命令行如下:
DEFINE QLOCAL(Q1) USAGE(XMITQ) #创建传输队列Q1
DEFINE QREMOTE(ORI_TRANS) RNAME(Q2) RQMNAME(QM_DES) XMITQ(Q1) #创建远程队列ORI_TRANS
DEFINE CHANNEL(QM_ORI.QM_DES) CHLTYPE(SDR) CONNAME('IP(PORT)') XMITQ(Q1) TRPTYPE(TCP) #创建通道QM_ORI.QM_DES
START CHANNEL(QM_ORI.QM_DES) #开启通道
3、创建队列管理器QM_DES
在[ibm_mq_install]/mqm/bin目录执行([ibm_mq_install]指本机安装IBM MQ的目录,一般默认为/opt目录):
crtmqm QM_DES //创建队列管理器
strmqm QM_DES //启动队列管理器
4、在队列管理器QM_DES中创建本地队列Q2、接收通道QM_ORI.QM_DES和修改监听器配置。
在[ibm_mq_install]/mqm/bin目录执行:
runmqsc QM_DES
创建的命令行如下:
DEFINE QLOCAL(Q2) #创建传输队列Q2
DEFINE CHANNEL(QM_ORI.QM_DES) CHLTYPE(RCVR) TRPTYPE(TCP) #创建通道QM_ORI.QM_DES
ALTER LISTENER(SYSTEM.DEFAULT.LISTENER.TCP) TRPTYPE(TCP) PORT(PORT) #修改监听器端口
START LISTENER(SYSTEM.DEFAULT.LISTENER.TCP) #启动监听器
5、向队列管理器QM_ORI的远程队列ORI_TRANS中放入测试消息
在[ibm_mq_install]/mqm/samp/bin目录执行:
./amqsput ORI_TRANS QM_ORI

6、接收测试消息
在[ibm_mq_install]/mqm/samp/bin目录执行:
./amqsget Q2 QM_DES

注意:发送和接收端通道两端命名一定要保持一致,否则无法完成消息的发送与接收
在Linux下使用多个队列管理器进行队列的发送与接收已经完成!
本文介绍了在Linux环境下,如何在两个Queue Manager之间进行消息的发送与接收。通过创建队列管理器QM_ORI和QM_DES,设置传输队列、远程队列、发送通道、接收通道,并调整监听器配置,实现了消息的传递。测试步骤包括创建队列管理器、放入和接收测试消息,强调发送和接收端通道名称的一致性。
4843

被折叠的 条评论
为什么被折叠?



