




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IBMMQSeries使用指南随着计算机网络和分布式应用的不断发展,远程消息传递越来越成为应用系统中不可缺少的组成部分。商业消息中间件的出现确保了消息传输的可靠性,高效率和安全性,同时也减少了系统的研发周期。目前应用最多的消息中间件产品为IBM MQSeries。本文就针对MQ的基本操作和设置进行周详的阐述,希望对读者有所帮助。一MQ基本操作MQ中有几个非常重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下:创建队列管理器crtmqm ?q QMgrName-q是指创建缺省的队列管理器删除队列管理器dltmqm QmgrName启动队列管理器strmqm QmgrName如果是启动默认的队列管理器,能不带其名字停止队列管理器endmqm QmgrName 受控停止endmqm ?i QmgrName 即时停止endmqm ?p QmgrName 强制停止显示队列管理器dspmq ?m QmgrName运行MQSeries命令runmqsc QmgrName如果是默认队列管理器,能不带其名字往队列中放消息amqsput QName QmgrName如果队列是默认队列管理器中的队列,能不带其队列管理器的名字从队列中取出消息amqsget QName QmgrName如果队列是默认队列管理器中的队列,能不带其队列管理器的名字启动通道runmqchl ?c ChlName ?m QmgrName启动侦听runmqlsr ?t TYPE ?p PORT ?m QMgrName停止侦听endmqlsr -m QmgrNameMQSeries命令定义死信队列DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE设定队列管理器的死信队列ALTER QMGR DEADQ(QNAME)定义本地队列DEFINE QL(QNAME) REPLACE定义别名队列DEFINE QALIAS(QALIASNAME) TARGQ(QNAME)远程队列定义DEFINE QREMOTE(QRNAME) +RNAME(AAA) RQMNAME(QMGRNAME) +XMITQ(QTNAME)定义模型队列DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)定义本地传输队列DEFINE QLOCAL(QTNAME) USAGE(XMITQ) DEFPSIST(YES) +INITQ(SYSTEM.CHANNEL.INITQ)+PROCESS(PROCESSNAME) REPLACE创建进程定义DEFINE PROCESS(PRONAME) +DESCR(STRING)+APPLTYPE(WINDOWSNT)+APPLICID( runmqchl -c SDR_TEST -m QM_ TEST)其中APPLTYPE的值能是:CICS、UNIX、WINDOWS、WINDOWSNT等创建发送方通道DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)+CONNAME(15(1418)) XMITQ(QTNAME) REPLACE其中CHLTYPE能是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。创建接收方通道DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACE创建服务器连接通道DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE显示队列的所有属性DISPLAY QUEUE(QNAME) ALL显示队列的所选属性DISPLAY QUEUE(QNAME) DESCR GET PUTDISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH显示队列管理器的所有属性DISPLAY QMGR ALL显示进程定义DISPLAY PROCESS(PRONAME)更改属性ALTER QMGR DESCR(NEW DESCRIPTION)ALTER QLOCAL(QNAME) PUT(DISABLED)ALTER QALIAS(QNAME) TARGQ(TARGQNAME)删除队列DELETE QLOCAL(QNAME)DELETE QREMOTE(QRNAME)清除队列中的所有消息CLEAR QLOCAL(QNAME)二设置一个能够通信的远程连接以上讲述了MQ的基本命令操作,但只知道这些是没有实际意义的。MQ的最终目的是实现远程通信,所以下面就以一个具体的例子来说明怎么实现远程连接。这个例子的目的是建立能实现消息传递的一对MQ服务器,他们分别基于NT和UNIX平台。首先在NT端建一队列管理器crtmqm ?q QM_NT启动队列管理器strmqm QM_NT运行MQ控制台命令runmqsc QM_NT创建死信队列DEFINE QL(NT.DEADQ) DEFPSIST(YES) REPLACE更改队列管理器属性,设置其死信队列ALTER QMGR DEADQ(NT.DEADQ)创建进程定义DEFINE PROCESS(P_NT)+APPLTYPE(WINDOWSNT)+APPLICID( runmqchl -c SDR_NT -m QM_NT)创建本地传输队列DEFINE QL(QT_NT) USAGE(XMITQ) DEFPSIST(YES) +INITQ(SYSTEM.CHANNEL.INITQ)+PROCESS(P_NT) REPLACE创建远程队列定义,对应于UNIX机器上的本地队列Q_UNIX,传输队列为QT_NTDEFINE QREMOTE(QR_NT)+RNAME(Q_UNIX) RQMNAME(QM_UNIX)+XMITQ(QT_NT)创建发送方通道,其传输队列为QT_NT,远程主机地址为,侦听端口为1414DEFINE CHANNEL(SDR_NT) CHLTYPE(SDR)+CONNAME((1414)) XMITQ(QT_NT) REPLACE创建服务器连接通道DEFINE CHANNEL(S_NT) CHLTYPE(SVRCONN) REPLACE在UNIX端创建队列管理器crtmqm ?q QM_UNIX启动队列管理器strmqm QM_UNIX添加侦听程式修改/etc/services文件,加入一行:MQSeries 1414/tcp #MQSeries channel listener修改/etc/inetd.conf文件,加入一行(启动侦听程式)MQSeries stream tcp nowait mqm /usr/lpp/mqm/bin/amqcrsta amqcrsta ?m QM_UNIX运行以下命令,以使修改起作用refresh ?s inetd运行MQ控制台命令runmqsc QM_UNIX创建死信队列DEFINE QL(UNIX.DEADQ) DEFPSIST(YES) REPLACE更改队列管理器属性,设置其死信队列ALTER QMGR DEADQ(UNIX.DEADQ)创建接收方通道,其名字必须和远程发送方相同DEFINE CHANNEL(SDR_NT) CHLTYPE(RCVR) REPLACE创建本地队列DEFINE QL(Q_UNIX) DEFPSIST(YES) REPLACE创建服务器连接通道DEFINE CHANNEL(S_UNIX) CHLTYPE(SVRCONN) REPLACE经过以上操作之后,远程连接的设置工作完成。接下来需要验证设置是否正确。在NT端启动发送方通道runmqchl ?c SDR_NT ?m QM_NT 或 start chl(SDR_NT)从NT端发送消息到UNIX端amqsput QR_NT QM_NT在UNIX端接收消息/usr/mqm/samp/bin/amqsget Q_UNIX QM_UNIX若能收到消息,说明设置成功。另,在NT下一般情况下在建立队列管理器时会自动建立侦听器,启动队列管理器时则会自动启动侦听程式。当然也能手动设置侦听程式。修改winntsystem32driversetcservices文件,在文件中加入一行:MQSeries 1414/tcp #MQSeries channel listener启动侦听程式runmqlsr ?t tcp ?p 1414 ?m QM_NT以上说明了怎样建立简单的单向传输网络。消息从NT端传送到UNIX端。建立从UNIX端到NT端的远程连接和以上相仿,要建立双向的传输网络也是同样的道理。三设置JNDI用JMS实现消息的发送和接收时,经常会用到JNDI。因为JNDI这种方式比较灵活,对于编程也比较简单。在安装了MQSeries Client for Java之后,在javabin目录下找到JMSAdmin.config文件。该文件主要用来说明Context的存储方式及存储地址,对应于文件中的两个参数INITIAL_CONTEXT_FACTORY和PROVIDER_URL。典型的JMSAdmin.config文件内容如下:#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactoryINITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory#INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory#PROVIDER_URL=ldap:/polaris/o=ibm,c=usPROVIDER_URL=file:/d:/temp#PROVIDER_URL=iiop:/localhost/#SECURITY_AUTHENTICATION=noneINITIAL_CONTEXT_FACTORY表示JMSAdmin Tool使用的服务提供商。当前有三种受支持的值。com.sun.jndi.ldap.LdapCtxFactory用于LDAP,如果使用他就必须安装一个LDAP服务器。com.sun.jndi.fscontext.RefFSContextFactory用于文件系统上下文,他只需要使用者提供存放上下文的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车外壳配件采购合同协议
- 损失赔偿协议书协议书
- 社会学与文化研究试题集萃
- 《课程教学导论》课件
- 专家顾问聘用合同协议
- 旅游占地协议书
- 转让泡沫加工合同协议
- 退休人员用用工合同协议
- 日本休战协议书
- 足浴按摩店劳务合同协议
- 2024年贵州省德江县事业单位公开招聘医疗卫生岗笔试题带答案
- 2024年甘肃省大数据中心招聘工作人员笔试真题
- 崇左市人民检察院招聘机关文员笔试真题2024
- 电器供货协议合同协议
- (二模)2025年4月潍坊市高三高考模拟考试地理试卷(含答案)
- 2025年上半年福建福州广播电视台招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年北师大版物理中考一轮备考复习:光现象、透镜作图专题(一)(含解析)
- 高二下学期感恩母亲节主题班会课件
- 产业招商培训课件
- 高一信息技术Python编程课程讲解
- 医院行政测试题及答案
评论
0/150
提交评论