Chinaunix首页 | 论坛 | 博客
  • 博客访问: 222943
  • 博文数量: 80
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 790
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 14:16
文章分类

全部博文(80)

文章存档

2007年(40)

2006年(40)

我的朋友

分类:

2006-07-07 16:49:57

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);
阅读(1044) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~