扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1. 在消息送往远程队列管理器之前, 本地队列管理器必需有
1)至少一个通道
2)一个传输队列
3)一个通道初始化器
4)一个远程队列定义
2. 对于本地队列管理器, 则需要一个侦听器
3. 一个通道的两端各有一个通道的定义, 两个定义必需有相同的名字,共通构成一个消息通道.
4. 每个消息通道两端都有一个消息通道代理(MCA), 他们从传输队列中提取消息.
5. 传输队列是一个本地队列, 用于在MCA提取消息并传递到远程队列管理器之前临时存放消息. 定义远程队列时,应该声明传输队列.
6. 可以使用pipelining使MCA能够多线程传递消息.
7. 建立集群
在每个队列管理器上,都应该定义集群发送(CLUSSDR)和集群接收(CLUSRCVR)
8. 远程管理示例:
1) crtmqm source.queue.manager; //源队列管理器
crtmqm target.queue.manager; //目标队列管理器
2) 源队列管理器:
定义从源队列管理器向目标队列管理器发送明令的通道
DEFINE CHANNEL('source.to.target') +
CHLTYPE(SDR) +
CONNAME(192.168.1.90) +
XMITQ('target.queue.manager') +
TRPTYPE(TCP)
定义接收反馈信息的接收通道
DEFINE CHANNEL('target.to.source') +
CHLTYPE(RCVR) +
TRPTYPE(TCP)
定义侦听器
DEFINE LISTENER('source.queue.manager') +
TRPTYPE(TCP)
定义传输队列(名字应该与远程队列管理器一致)
DEFINE QLOCAL('target.queue.manager') +
USAGE(XMITQ)
3) 目标队列管理器
定义用于反馈给源队列管理器信息的通道
DEFINE CHANNEL('target.to.source') +
CHLTYPE(SDR) +
CONNAME(192.168.1.90) +
XMITQ('source.queue.manager') +
TRPTYPE(TCP)
定义用于接受源队列管理器命令的通道
DEFINE CHANNEL('source.to.target') +
CHLTYPE(RCVR) +
TRPTYPE(TCP)
定义侦听器
DEFINE LISTENER('target.queue.manager') +
TRPTYPE(TCP)
定义传输队列
DEFINE QLOCAL('source.queue.manager') +
USAGE(XMITQ)
4) 在源端启动侦听器
START LISTENER('source.queue.manager')
在目的端启动侦听器
START LISTENER('target.queue.manager')
5) 分别启动两端的传送通道
源: START CHANNEL('source.to.target')
目的:START CHANNEL('target.to.source')
6) 每一个队列管理器都有一个命令服务器(command server)用来处理从远程队列管理器传来得命令。
通常命令服务器自动启动,也可以手动启动: strmqcsv MQM_NAME
显示命令服务器状态:
DISPLAY QMSTATUS CMDSERV
停止命令服务器: endmqcsv MQM_NAME ( -c, 受控方式关闭, -i立即关闭)
7) 在源端间接运行目标队列管理器的MQSC
runmqsc -w 30 target.queue.manager
(注:使用了-w参数,则source.queue.manager应该是其所在结点的默认队列管理器)
运行结果:
5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED.
启动队列管理器 target.queue.manager 的 MQSC。
end
1 : end
未读取 MQSC 命令。
接收到 0 命令响应。
源队列管理器的定义脚本
DEFINE CHANNEL('source.to.target') +
CHLTYPE(SDR) +
CONNAME('192.168.1.90(1414)') +
XMITQ('target.queue.manager') +
TRPTYPE(TCP);
DEFINE CHANNEL('target.to.source') +
CHLTYPE(RCVR) +
TRPTYPE(TCP);
DEFINE LISTENER('source.queue.manager') +
TRPTYPE(TCP) +
port(1415);
DEFINE QLOCAL('target.queue.manager') +
USAGE(XMITQ);
目标队列管理器的定义脚本
DEFINE CHANNEL('target.to.source') +
CHLTYPE(SDR) +
CONNAME('192.168.1.90(1415)') +
XMITQ('source.queue.manager') +
TRPTYPE(TCP);
DEFINE CHANNEL('source.to.target') +
CHLTYPE(RCVR) +
TRPTYPE(TCP);
DEFINE LISTENER('target.queue.manager') +
TRPTYPE(TCP) +
port(1414);
DEFINE QLOCAL('source.queue.manager') +
USAGE(XMITQ);
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者