(四)IBM MQ 远程队列的创建与使用

准备工作

  • 两台linux机器或者虚拟机
  • 保证两天机器在同一网段内,并保证能够相互ping通
  • 都已安装好IBM MQ并将端口1414从防火墙中开放出来

一、接收方机器的操作

1.创建队列管理器QM_APPLE

crtmqm QM_APPLE

在这里插入图片描述

注意:发送方机器创建的远程队列中rqmname为该队列管理器,注意名称要一致

2.启动队列管理器QM_APPLE

strmqm QM_APPLE

在这里插入图片描述

3.启动MQSC

runmqsc QM_APPLE

在这里插入图片描述

4.创建本地队列Q1

define qlocal (Q1)

在这里插入图片描述

5.定义接收方通道

define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)

在这里插入图片描述

6.修改缺省的监听器

alter listener(system.default.listener.tcp) trptype(tcp) port(1414)

在这里插入图片描述

7.启动监听器

start listener(system.default.listener.tcp)

在这里插入图片描述

8.关闭MQSC,接收方创建完毕

end

二 、发送机器的操作

1.创建队列管理器QM_ORANGE

crtmqm QM_ORANGE

在这里插入图片描述

2.启动队列管理器QM_ORANGE

strmqm QM_ORANGE

在这里插入图片描述

3. 启动MQSC命令

runmqsc QM_ORANGE

在这里插入图片描述

4. 创建本地传输队列

define qlocal (QM_APPLE) usage (xmitq)

在这里插入图片描述

在IBMMQ 中,队列的用途有两种,分别为正常和传输,这里创建传输用途的队列给远程队列使用

5. 创建远程队列

define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)

在这里插入图片描述

qremote(远程队列名称)
rname (要连接的队列)
rqmname(要连接的队列管理器)
xmitq(使用的传输队列)

6. 定义发送方通道

define channel(QM_ORANGE.QM_APPLE) chltype(sdr) conname('192.168.137.2(1414)') xmitq(QM_APPLE) trptype(tcp)

在这里插入图片描述

  1. channel (通道名称)
  2. chltype (通道类型)发件人(SDR)接收器(RCVR)服务器(SVR)请求者(RQSTR)群集发件人(CLUSSDR)集群接收器(CLUSRCVR)
  3. conname(连接名称,必须为’ip(port)'形式)
  4. xmitq(传输队列)
  5. trptype (协议类型)

7. 启动发送方通道

start channel (QM_ORANGE.QM_APPLE)

在这里插入图片描述

8.关闭MQSC,发送方创建完毕

end

三、进行测试

1.发送方机器上向远程队列Q1中写入消息

amqsput Q1 QM_ORANGE

在这里插入图片描述

2.接收方机器上获取本地队列Q1中的消息

amqsget Q1 QM_APPLE

在这里插入图片描述

3.注意

若先进行的发送方机器配置,则可能会出现接收方机器接收不到消息的情况,原因是发送方通道启动时,接收方通道还不存在,导致发送方通道一直在重连而又还没连接上时进行了消息的发送,可以手动在发送方机器上重新启动发送方通道或等待一段时间都可以。

参考:将消息发送至远程队列

  • 3
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值