Chinaunix首页 | 论坛 | 博客
  • 博客访问: 408816
  • 博文数量: 119
  • 博客积分: 1470
  • 博客等级: 上尉
  • 技术积分: 1258
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-24 13:50
文章分类

全部博文(119)

文章存档

2018年(6)

2017年(11)

2016年(4)

2013年(8)

2012年(1)

2011年(2)

2010年(4)

2009年(37)

2008年(16)

2006年(30)

我的朋友

分类: LINUX

2009-05-07 20:54:53

  随着计算机网络和分布式应用的不断发展,远程消息传递越来越成为应用系统中不可缺少的组成部分。商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同时也减少了系统的开发周期。目前应用最多的消息中间件产品为 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 QmgrName

    MQSeries 命令

    定义死信队列

    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 (‘ 100.100.100.215(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 PUT

    DISPLAY 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 )


MY experience:

改变QUEUE的长度

dis queue(testq1)
clear qlocal(testq1)
dis queue(testq1) maxdepth curdepth
dis queue(testq1) descr get put
alter qlocal(testq1) MAXDEPTH(100000000)

定义LISTENER
define listener(sandmq01.listener) trptype(tcp) port(1414)

定义CHANNEL


定义QUEUE

DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE



阅读(636) | 评论(0) | 转发(0) |
0

上一篇:在VMWARE里添加硬盘

下一篇:rman增量备份

给主人留下些什么吧!~~