IBM MQ学习-IBM MQ使用

文章参考:https://developer.ibm.com/zh/components/ibm-mq/gettingstarted/
在对IBM MQ有了一定的认识后,就要开始使用MQ来进行简单的收发消息了
首先是,基于本地消息队列来发送消息

基于本地消息队列发送消息

设置队列管理器

首先,在设置队列管理器之前,必需安装好IBM MQ。
安装完成后,开启IBM WebSphere MQ可视化应用,找到队列管理器目录,新建队列管理器
在这里插入图片描述
填写管理器名称后,点击两次下一步,勾选创建服务器连接通道选项,方便后面与远程MQ通信
在这里插入图片描述
点击下一步,这里可以进行MQ监听端口的配置,默认1414,可能存在端口占用的情况,可以选择1415/1416等等
在这里插入图片描述
配置完成后,点击完成,可以在队列管理器列表找到刚刚创建的QM管理器
在这里插入图片描述

创建本地消息队列

队列项右键创建一个本地消息队列
在这里插入图片描述
填写队列名称后,选择完成
在这里插入图片描述
接下来就可以在队列列表中看到创建的本地队列了
在这里插入图片描述

基于本地队列发送消息并浏览

右键选择本地队列并放入一个测试消息
在这里插入图片描述
在这里插入图片描述放入消息后,刷新界面可以看到队列深度发生变化
在这里插入图片描述
右键本地,浏览队列的消息
在这里插入图片描述
在这里插入图片描述

发送消息到远程消息队列

首先,同样要创建一个消息队列管理器
步骤同上一致,这里我们创建一个名为testremoteMQ,监听端口1417的队列管理器
在这里插入图片描述
然后,我们要创建一个本地的传输队列,主要用来进行消息的传输
右键,新建一个本地队列常规配置中,修改其为传输队列

在这里插入图片描述
在这里插入图片描述
然后,构建一个远程队列,和我们的远程MQ建立连接
右键,新建一个远程队列定义remoteMQ
在这里插入图片描述
在常规配置中,配置远程队列(接收消息的目的队列),这里直接用上面创建的testQM1中定义的localMQ作为远程的消息的接收队列。然后配置远程消息队列管理器,也就是testQM1,以及传输队列,也就是上述的transmissionMQ。配置完成后,点击完成。
在这里插入图片描述
在这里插入图片描述
紧接着,就要构建用于消息传输的通道了。
首先,我们在发送方(testremoteMQ)构建一个发送方通道senderChannel
在这里插入图片描述
配置接收方的 ip/主机名 以及对应端口,注意格式:ip(端口),然后选择发送方创建的传输队列transmissionMQ
在这里插入图片描述
在这里插入图片描述
创建完成发送方通道后,对应的就需要创建接收方通道。
切换到testQM1管理器中,创建一个接收方通道receiverChannel在这里插入图片描述
在这里插入图片描述
创建完成后,启动发送方通道。然后,找到IBM的安装路径,到bin目录下执行cmd
然后,执行amqsput脚本 ,命令格式为amqsput [发送队列] [发送方队列管理器]

在这里插入图片描述
命令执行成功后,输入测试消息,并按两次回车

查看接收方消息队列是否有接收到消息
在这里插入图片描述
可以看到接收方消息队列并未接收到消息,这是因为我们的发送方通道并未成功和接收方通道建立连接。因为我们定义的发送方通道和接收方通道非同名,因此建立连接时会失败。这里我们将接收方通道也改成,然后重新启动发送方通道
在这里插入图片描述
这里可以看到我们的通道已经正常运行了
此时,通道连接成功后,传输队列中的消息就会经由通道发送到接收方
在这里插入图片描述
我们接收方的本地队列深度也加1,数据消息也成功传输到了本地接收队列
在这里插入图片描述

基于客户-服务端发送消息

实现原理:首先,由IBM客户端和服务端建立连接,然后发送消息至服务端,服务端接收到消息后,通过传输队列经由发送方通道传输到接收方通道,最后被远程的接收方队列接收。
在这里插入图片描述

首先我们要在,testremoteQM管理器的通道创建一个服务器连接通道,方便客户端和我们的管理器建立连接。
在这里插入图片描述
配置MCA标识
在这里插入图片描述
这里我们可以通过 “此电脑-》管理-》本地用户和组” 找到mqm用户组,添加当前用户,并配置MCA为当前用户
在这里插入图片描述
配置完成后,就要开始构建我们的客户端。
这里需要配置一个MQSERVER的环境变量,来方便amqsput获取到服务器连接通道。打开 “此电脑-》属性-》高级系统设置-》环境变量” ,在当前用户中配置MQSERVER变量,值为连接通道名/TCP/ip(端口号),这里我们需要配置成serverConn/TCP/127.0.0.1(1417)
注意:这里的连接通道名和ip,端口号都要和我们的服务段管理器的连接通道名、ip以及端口号一致
在这里插入图片描述
配置完成后,客户端就建立完成了。
接下来,通过amqsput命令发送消息
命令amqsput remoteMQ
在这里插入图片描述
这里会返现连接失败,这里我们需要将连接管理器的通道认证记录禁用,右键testremoteQM,选择属性-》通信,禁用通道认证

在这里插入图片描述

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值