• 1. Websphere MQ基础培训WebSphere MQ简介 WebSphere MQ体系结构 WebSphere MQ 对象介绍 WebSphere MQ基本操作 WebSphere MQ实例配置
  • 2. WebSphere MQ简介 中间件介绍:中间件是处于应用软件和系统软件之间的通用服务,是一类以自己的复杂换取企业应用简单化的可复用的基础软件。     中间件主要分为消息中间件、应用服务器中间件、交易中间件等等。而今天,主要向大家介绍的正是IBM厂商的消息中间件WebSphere MQ
  • 3. WebSphere MQ简介WebSphere MQ: Websphere MQ是IBM的商业消息通讯中间件(Commercial Messaging Middleware)。     Websphere MQ提供一个具有工业标准、安全、可靠的消息传输系统。它可实施在广泛的IBM和非IBM平台上,它的功能是控制和管理一个集成的商业应用,使得组成这个商业应用的多个分支程序(模块)之间通过传递消息完成整个工作流程。通过使用WebSphere MQ用户可以简单方便的开发出可靠、高效的分布式应用系统。
  • 4. WebSphere MQ体系结构 WebSphere MQ的体系结构如图所示,它是由许多对象所组成的,主要包括队列管理器、队列、通道、进程定义等对象。队列管理器和DB2数据库中的实例相似,队列管理器好比是数据库实例,队列好比是数据库中的数据表,而消息就好似数据表中的某一行数据。
  • 5. WebSphere MQ对象介绍队列管理器:在WebSphere MQ中队列管理器是基本的软件系统,队列管理器可看成是队列和其他对象的容器。 消息:是对使用它的应用程序有意义的以字节为单位的字符串。消息可以用来实现在相同或不同平台上应用程序间的通信。 通道:是一种提供从一个队列管理器到另一个队列管理器的通信路径。它又叫消息通道,用在分布式的队列 把消息从一个队列管理器发送到另一个队列管理器。按照定义可以分为发送通道(Sender)、接收通道(Receiver)、服务器通道 (Server)、请求器通道(Requester)等。 侦听器:是对方mq管理器来探测,本地要给对方一个回应,监听器就是起这个作用的
  • 6. WebSphere MQ对象介绍队列:是用于存储消息的数据结构。按功能可以分为本地队列、远程队列、传输队列、模板队列、别名队列、死信队列等等。 本地队列:物理上位于本地队列管理器中的队列。可以向本地队列put或get消息。 远程队列:远程队列属于另外的队列管理器。在本地队列管理器上见到的远程队列,一般是一个远程队列的定义。本地队列管理器根据这个定义找到该远程队列所属的远程队列管理器。 队列传输消息可以这样理解:假如,队列管理器A向队列管理器B发送消息,则消息由A的远程队列发送到B的本地队列。 传输队列:临时存储发送到远程队列管理器的消息。传输队列与远程队列关联,由队列管理器进行管理。队列管理器通过传输队列把消息发往远程队列。 死信队列:存储无法正确发送到目的队列管理器的消息。一般用于调试。
  • 7. WebSphere MQ基本操作操作命令:分为外部命令和RUNMQSC命令 MQSC命令:是用来管理队列管理器对象,包括队列管理器本身、通道、队列和进程定义。 可以使用 runmqsc 向队列管理器发出 MQSC 命令。
  • 8. WebSphere MQ基本操作队列管理器操作:创建队列管理器(crtmqm –q QMgrName);删除队列管理器(dltmqm QmgrName);启动队列管理器(strmqm QmgrName);停止队列管理器(endmqm QmgrName 受控停止,endmqm –i QmgrName 立即停止,endmqm –p QmgrName 强制停止);显示队列管理器(dspmq –m QmgrName)
  • 9. WebSphere MQ基本操作队列基本操作:定义死信队列( DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE );设定队列管理器的死信队列( ALTER QMGR DEADQ(QNAME) );定义本地队列( DEFINE QL(QNAME) REPLACE );远程队列定义( DEFINE QREMOTE(QRNAME) RNAME(AAA) RQMNAME(QMGRNAME) XMITQ(QTNAME) );定义本地传输队列( DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) INITQ(SYSTEM.CHANNEL.INITQ)PROCESS(PROCESSNAME) REPLACE );查看队列:dis queue(qlName);往队列中发送消息:amqsput qrmoteName ;从队列中取消息:amqsget qlName;删除队列: DELETE QLOCAL(QNAME) DELETE QREMOTE(QRNAME);更改属性ALTER QMGR DESCR(‘NEW DESCRIPTION’), ALTER QLOCAL(QNAME) PUT(DISABLED), ALTER QALIAS(QNAME) TARGQ(TARGQNAME)清除队列中的所有消息 CLEAR QLOCAL(QNAME)
  • 10. WebSphere MQ基本操作通道基本操作:创建发送方通道(DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR) CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE);创建接收方通道(DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE);创建服务器连接通道(DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE);启动通道:start channel(channelName);停止通道:stop channel (channelName);查看通道信息:dis channel( channelName );查看通道状态:dis chs(*)
  • 11. WebSphere MQ基本操作侦听基本操作:创建侦听器(def listener(‘mbfeListener’) trptype(tcp) port(9001) control(qmgr));启动侦听器(start listener('mbfeListener')) 特殊操作:查看通道编码:dis qmgr ccsid; 更改字符集:alter qmgr ccsid(1381)
  • 12. WebSphere MQ实例配置创建命令行: ctrmqm –q ibpsMgr1 创建队列管理器ibpsMgr1 strmqm ibpsMgr1 启动队列管理器 DEFINE QL(MBFE.DEADQ) DEFPSIST(YES) REPLACE ALTER QMGR DEADQ(MBFE.DEADQ) define qlocal ('SEND2MBFE') DEFPSIST(YES) REPLACE define qlocal ('Trans2IBPS') USAGE(XMITQ) DEFPSIST(YES) INITQ(SYSTEM.CHANNEL.INITQ) REPLACE define qremote('MBFE2IBPS') RNAME('RECVFROMMBFE') RQMNAME('ibpsMgr1') XMITQ('Trans2IBPS') replace def listener('mbfeListener') trptype(tcp) port(9001) control(qmgr) start listener('mbfeListener') define channel ('ibpsCH') chltype(RCVR) TRPTYPE(TCP) define channel('mbfeCH') chltype(SDR) TRPTYPE(TCP) CONNAME('128.192.60.60(9002)') XMITQ('Trans2IBPS') replace start channel('mbfeCH') 备注:发送通道名称要与对端的接收通道名称一致;发送通道CONNAME中的端口号,要与接收通道监听器的端口号一致;定义名称时,默认为大写。如果要使用小写字符,需要加单引号;定义远程队列中的RNAME为对端的接收本地队列, RQMNAME为对端的队列管理器
  • 13. WebSphere MQ实例配置练习:本地端安装windows版本MQ,并进行完整配置;对端安装linux版本MQ,并进行完整配置。 双方配置完成后,验证消息通讯;windows端amqsput 远程队列,发送消息为:testing MQ;linux端amqsget 本地队列,接收消息为testing MQ。
  • 14. 谢谢!