IBM MQ两个队列管理器之间的通信

本文为转载
原文链接 2个队列管理器之间的通信

前提

1.确保两边的队列管理器的名称不能相同(如果名称相同将无法通信,在连接的时候虽然发送通道和接收通道都是可以运行的,但是当放入测试消息的时候会报2087 AMQ4048的错误)。

2.确保两个队列管理器直接的监听端口正在运行并且是对外开放的,可以通过telnet ip port进行测试。

实现过程:

队列管理器A (IB9QMGR):

1.新建本地队列 LQ_0000 (这个本地队列实际上准备接受远程信息的)

2.新建传输队列 TQ_0000 (即新建本地队列,然后将属性–>常规中“使用情况”由默认的“正常”改为“传输”)

3.新建远程队列定义 RQ_0000,在属性–>常规中填入相应的远程队列(LQ_8888),远程队列管理器(QM1),选择第2步中创建的传输队列 TQ_0000

4.新建发送方通道 CHL_0000_8888 在属性–>常规中,“连接名称”以ip(port)的形式填入远程主机的IP和端口,如:192.168.178.129(1414)(注意连接名称只能这样填写,不能自己任意命名,而且必须正确,否则两台主机是无法通信的);“传输队列”选择第2步中创建的传输队列 TQ_0000

5.新建接收方通道 CHL_8888_0000

(对于发送和接收方通道要特别注意QM A 的发送方就是QM B 的接收方,两个通道的名称必须是相同的,对于QM B 同理)

队列管理器 B (QM1):

1.新建本地队列 LQ_8888(这个本地队列实际上准备接受远程信息的)

2.新建传输队列 TQ_8888 (即新建本地队列,然后将属性–>常规中“使用情况”由默认的“正常”改为“传输”)

3.新建远程队列定义 RQ_8888,在属性–>常规中填入相应的远程队列(LQ_0000),远程队列管理器(IB9QMGR),选择第2步中创建的传输队列 TQ_8888

4.新建发送方通道 CHL_8888_0000 在属性–>常规中,“连接名称”以ip(port)的形式填入远程主机的IP和端口,如:192.168.2.49(2414)(注意连接名称只能这样填写,不能自己任意命名,而且必须正确,否则两台主机是无法通信的);“传输队列”选择第2步中创建的传输队列 TQ_8888

5.新建接收方通道 CHL_0000_8888

以上两个队列管理器配置完成后,启动各自的发送方通道,如果正常状态都会是“正在运行”,并且各自的接收方通道也会伴随自动启动,状态为“正在运行”。

可以往QM A 的远程队列 RQ_0000 放入测试消息,如果在QM B 的本地队列 LQ_8888 接收到消息,这说明配置是成功的。

你可能感兴趣的:(Linux,MQ)