网站大量收购闲置独家精品文档,联系QQ:2885784924

MQ知识技能培训.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MQ知识技能培训MQ知识技能培训

MQ知识培训 Ver0.91 一、MQ基本知识介绍 MQ是IBM的消息中间件,主要为不同平台或软件提供可靠、异步、不重复的消息传送。而且它支持多种通讯协议,在MQ网关的支持下,也能实现网络间的传输。 现在MQSeries已经作为IBM的Websphere产品的一部分,称为Websphere MQ。 1、Messages(消息) 消息就是一系列字节,为各种应用程序所使用。对于MQ而言,Message(消息)包括2部分,应用程序写入的消息数据部分以及MQ增加的消息描述部分。这部分描述主要包括一些优先级、目的队列。目的队列管理器、报告等的属性值 2、Queue(队列) 队列就是存放消息的一个数据结构。程序或队列管理器可从队列取出、放入消息。通常可以定义队列存放的最大的消息数目、每条消息的最大长度。还可以定义该队列是否允许取出或放入消息。 队列可分为本地队列(local queue)、远程队列(remote queue)和传输队列(transmit queue)。 本地队列是指队列实体存在于本地的队列管理器内的。 远程队列是指队列实体存在于别的队列管理器内的。 传输队列则是一种特殊的本地队列,其用途主要为不同队列管理器间的通讯提供一个消息存放的实体。 3、Queue Manager(队列管理器) 队列管理器就是为外部的应用提供队列服务以及管理本地队列及消息发送的控制等。 4、Channel(通道) 通道为队列管理器提供了通讯的基础,现在可分两种通道:消息通道和MQI通道。 消息通道为两个队列管理器间提供通讯的基础。 MQI通道主要为MQClient端提供访问MQServer的通讯基础。 二、MQ基本操作 建立侦听端口 在WINDOWS下面可以定义自动启动队列侦听器。 用命令行(可在多种系统下通用)的方式为: runmqlsr –t 协议名 –m 队列管理器名 –p 侦听端口 一般默认端口为1414。 2、建立队列管理器间的消息通道 双方各建立一发送方通道与接收方通道。需要注意的是发送方通道的名字需要与对方接收方通道的名字一样。如: 队列管理器A,有发送方通道A.B、接收方通道B.A 则队列管理器B需要定义如下:发送方通道B.A、接收方通道A.B 另,如果对方管理器的侦听端口不是默认端口(1414),则建立发送方通道的时候在连接名称不仅需要填上对方的主机名(或IP地址)还需要以带(port)的形式把对方管理器的侦听端口填上。 如:winserver(50000)则表示连接到winserver这台主机侦听端口为50000的队列管理器上。 注:如果需要建立一个永久连接则需要把心跳间隔的时间定为0,否则一定时间内没消息发送的话,队列管理器会自动断开连接的。 3、建立远程队列实现消息的传送 在建立好消息通道后就可以建立远程队列指定对方的管理器名与对方的队列名。 注:在定义发送方通道的时候需要指定一个传输队列。而定义远程队列的时候也需要指定一个传输队列。必须注意此2个队列的一致性,否则可能把消息发送到不同的队列管理器上了。 三、命令行下的操作 1、启动队列管理器 strmqm 队列管理器名 2、停止队列管理器 endmqm 队列管理器名 3、创建队列管理器 crtmqm 队列管理器名 4、删除队列管理器 dltmqm 队列管理器名 5、进入MQSC管理模式 runmqsc 队列管理器名 6、启动侦听端口 runmqlsr –t 协议名 –p 端口 –m 队列管理器名 7、停止侦听端口 endmqlsr –m 队列管理器名 8、显示目前已经创建的队列管理器 Dspmq 9、起监听端口 START LISTENER() 注:此命令仅在MQ5.2以上才适用。 9、在进入MQSC管理模式(即执行第五步)命令简单介绍 a、启动通道 start chl(通道名) b、停止通道 stop chl(通道名) c、检查通道 ping chl(通道名) d、通道复位 reset chl(通道名) e、解决未知状态 resolve chl(通道名) action(commit) f、显示所有本地队列名 dis ql(*) g、显示所有通道名 dis chl(*) h、查看某个队列 dis ql(队列名) 四、使用C/C++编写访问MQ的程序 使用公司内部的类: CMQManager 提供的方法有: //连接到指定的队列管理器 bool connectQManager(const char* QManagerName); //用指定的方式打开队列、默认为读取方式 bool accessQueue(const char* QueueName,int OpenMethod = MQM

文档评论(0)

cxiongxchunj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档