本地IBM MQ(windows)和阿里云IBM MQ(linux)之间相互通信

说明:本例旨在使用本地机器和阿里云服务器,分别建立消息发送队列管理器和消息接收队列管理器(本地发送消息,阿里云接收消息)。

 

  1. 本地建立发送消息队列管理器MQ_SEND,侦听端口1417

1.1右击队列管理器,点击新建,点击队列管理器

 

1.2输入队列管理器名称MQ_SEND

 

1.3 点击两次下一步后,进入队列管理器输入配置选项,点击创建服务器连接通道(必须)

 

1.4设置侦听端口,如果1414被使用可设置其他端口

 

2、本地建立本地队列(传输)

2.1右击队列,点击新建,点击本地队列:

 

2.2输入队列名:LQ

 

2.3更改属性:更改用法为传输(必须)

此本地队列只用于传输,因此此本地队列即传输队列

 

3、本地建立远程队列定义

3.1右击队列,点击新建,点击远程队列定义:

 

3.2输入远程队列定义名称:

 

3.3点击下一步,进入更改属性:

 

4、本地建立发送通道:

4.1点击通道,右击新建,点击发送方通道

 

4.2输入发送通道名称:

对于发送和接收方通道要特别注意MQ_SEND 的发送方就是MQ_RECEIVE的接收方,两个通道的名称必须是相同的;

MQ_SEND 的接收方就是MQ_RECEIVE的发送方

(注:此处通道名称必须和阿里云建立的通道名称一致,只是通道类型不同,此处通道为发送通道,阿里云为接收通道)

 

 

4.3更改属性:

连接名称:IP(port),IP即阿里云IP地址,port即接收队列管理器所建立的侦听端口

传输队列:本地服务器建立的MQ_SEND的本地队列名(配置了传输用法)

 

 

5、阿里云上建立接收队列管理器

5.1创建接收队列管理器

crtmqm QM_RECEIVE

 

5.2启动队列管理器strmqm QM_RECEIVE

 

5.3查看队列管理器QM_RECEIVE的启动情况:

 

6、进入阿里云队列管理器创建队列

6.1运行接收队列管理器

runmqsc QM_RECEIVE

 

6.2创建阿里云队列管理器的本地队列

DEFINE QLOCAL(RLQ) REPLACE

 

7、进入阿里云队列管理器创建接收通道

建立阿里云接收通道,此通道名与本地发送通道名相同,只是类型不同

DEFINE CHANNEL(SEND_RECEIVE_CHL) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE

 

创建好后,直接启动发送方通道即可联动启动接收方通道。

但是发现直接启动通道失败,此时需要建立阿里云队列管理器的侦听端口

由于阿里云上1414端口已经被其他队列管理器使用,所以建立1416端口,建立完成后需要去控制台,开启1416端口的防火墙以供远程调用

 

8、创建队列管理器的侦听端口

远程的队列管理器至少有一个 TCP/IP Listener

linux :  runmqlsr -m QM_RECEIVE -t tcp -p 1416

windows: start runmqlsr -m QM2 -t tcp -p 1416

 

查看监听是否启动:

netstat -an | find /i "1416"

 

9、监听端口设置好后,再次启动通道

10、测试

10.1在本地机器的队列管理器,远程队列中放入测试消息

 

10.2在阿里云接收队里管理器上接收消息:

amqsget RLQ QM_RECEIVE

猜你喜欢

转载自blog.csdn.net/qq_34569497/article/details/81197910