MQ常用命令与实操练习.docx

上传人:b****5 文档编号:4944501 上传时间:2022-12-12 格式:DOCX 页数:9 大小:42.32KB
下载 相关 举报
MQ常用命令与实操练习.docx_第1页
第1页 / 共9页
MQ常用命令与实操练习.docx_第2页
第2页 / 共9页
MQ常用命令与实操练习.docx_第3页
第3页 / 共9页
MQ常用命令与实操练习.docx_第4页
第4页 / 共9页
MQ常用命令与实操练习.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

MQ常用命令与实操练习.docx

《MQ常用命令与实操练习.docx》由会员分享,可在线阅读,更多相关《MQ常用命令与实操练习.docx(9页珍藏版)》请在冰豆网上搜索。

MQ常用命令与实操练习.docx

MQ常用命令与实操练习

一、队列管理器常用操作命令

1、通过输入以下命令来创建名为QM_APPLE的缺省队列管理器:

crtmqm-qQM_APPLE

此时会显示消息,告诉您已经创建了队列和缺省WebSphereMQ对象。

***启动队列管理器:

通过输入以下命令来启动此队列管理器(因为新创建的队列管理器还没有启动):

strmqmQmgrName

此时会显示一条消息,告诉您何时启动了该队列管理器。

QmgrName为需要启动的队列管理器名称。

注:

如果启动指定的队列管理器则用strmqmQM_APPLE,如果是启动默认的队列管理器,可以不带其名字

-q是指创建缺省的队列管理器

注:

删除队列管理器:

dltmqmQM_APPLE

**停止队列管理器

endmqmQmgrName受控停止

endmqm–iQmgrName立即停止

endmqm–pQmgrName强制停止

**显示队列管理器

dspmq–mQmgrName

运行MQ命令

runmqscQmgrName

如果是默认队列管理器,可以不带其名字

注:

dspmq则是显示所有的队列管理器

 

二、队列管理器对象常用操作命令(MQSC)

MQSC命令是用来管理队列管理器对象,包括队列管理器本身、通道、队列和进程定义。

可以使用runmqscQmgrName向队列管理器QmgrName发出MQSC命令。

命令的输入有两种方式,一种是交互式命令,另一种是从ASCII文本文件中重定向输入命令。

在这两种方式中,命令的格式是相同的。

运行MQSC命令

runmqscQmgrName

如果是默认队列管理器,可以不带其名字

输入end命令来停止MQSC:

***队列管理*****

1:

创建本地队列:

defineqlocal(Q1)replace

注:

定义持久性队列:

DEFINEQLOCAL(QNAME)DEFPSIST(YES)REPLACE

如果已经定义好了队列,但需要修改该队列的属性,可以使用later命令操作。

如,现在将已经定义好的队列Q1定义为持久性队列可以做如下操作:

ALTERQLOCAL(Q1)DEFPSIST(YES)

可使用alter?

察看可修改对象,再用alter对象名?

察看可修改对象的参数。

2:

往队列中放消息

amqsputQNameQmgrName

如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字

比如:

amqsputQ1QM_APPLE

3:

从队列中取出消息

amqsgetQNameQmgrName

如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字

注:

在运行该命令时,不要先运行runmqsc等。

而是在普通的命令窗口,启动MS-DOS窗口,进入到c:

\Program Files\IBM\WebSphereMQ\bin目录下,需要根据实际情况填写安装目录。

 

4:

清除队列中的所有消息

CLEARQLOCAL(QNAME)

注:

该命令是运行在runmqsc命令之后

5:

显示队列的所有属性

DISPLAYQUEUE(QNAME)[ALL]

6:

删除队列

DELETEQLOCAL(QNAME)

DELETEQREMOTE(QRNAME)

***传输队列管理

1:

定义传输队列

DEFINEQLOCAL(Q_TRANSFER)USAGE(XMITQ)

注:

Q_TRANSFER:

传输队列名

下面定义一个输入队列并带触发器

DEFINEQLOCAL(Q_TRANSFER)USAGE(XMITQ)DEFPSIST(YES)INITQ(SYSTEM.CHANNEL.INITQ)TRIGDATA(DP_RCHANNEL)REPLACE

注:

参数1:

传输队列名称(Q_TRANSFER)

参数5:

触发器数据(DP_RCHANNEL),也就是触发后要启动的通道。

 

2:

在传输入队列上定义触发器

DPCIS_Q_TRANSFER:

传输队列

触发器数据:

DP_RCHANNEL即:

发送通道,触发时启动该通道

alterqlocal(DPCIS_Q_TRANSFER)TRIGDATA('DP_RCHANNEL')TRIGTYPE(every)TRIGGERinitq('SYSTEM.CHANNEL.INITQ')

****远程队列管理

通过输入以下命令来定义远程队列定义:

defineqremote(Q1)rname(Q1)rqmname(QM_APPLE)xmitq(QM_APPLE)

注:

参数1:

队列名称(发送方远程队列名)

参数2:

远程队列(接收方的本地接收队列名)

参数3:

远程队列管理器(接收方队列管理器名)

参数4:

传输队列(发送方传输队列名)

****通道管理*********

1:

创建接收方通道

definechannel(channelname)chltype(RCVR)replace

注:

参数1:

接收方通道名称

replace:

表示有该通道了替换

2:

创建发送方通道

definechannel(DP_RCHANNEL)chltype(SDR)conname('10.101.2.3(1414)')xmitq(Q_TRANSFER)replace

其中CHLTYPE可以是:

SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。

注:

通道名称:

DP_RCHANNEL(发送方通道的名称)

传输队列:

Q_TRANSFER(发送方传输队列的名称)

连接名称:

conname中填写目标地址和端口号

3:

启动通道

startchannel(QM_ORANGE.QM_APPLE)

QM_ORANGE.QM_APPLE为已经创建好的通道名称

注:

发送通道与对应的接收通道名称必须相同,创建好的发送通道一旦启动,对应的接收通道会自动运行。

4:

查看通道状态

dischs(*)

注:

无法察看不活动的通道状态。

*****侦听器管理*******

1:

定义侦听器

DEFINELISTENER(TCPLS1)TRPTYPE(TCP)IPADDR(192.168.8.34)PORT(1414)REPLACE

注:

侦听器名称:

TCPLS1(所创建侦听器名称)

传输协议:

TCP(所使用协议,有TCP/LU6.2/NETBIOS/SPX)

侦听地址:

192.168.8.34(侦听ip)

端口:

1414(侦听的端口号,及队列管理器的端口)

2:

启动侦听器

startlistener(TCPLS1)

3:

显示侦听器信息

displaylistener(tcpls1)

 

==================================================

---------操作练习-------------------------------

==================================================

一.在队列管理器QML_1上创建远程队列Q1,在队列管理器QML_2上创建本地队列Q2来接收Q1发送的消息

1.通过输入以下命令来启用MQSC命令:

创建传输队列

runmqscQML_1

输入以下命令:

DEFINEQLOCAL(Q_T)USAGE(XMITQ)

此时会显示消息,告诉您已经创建了队列和缺省WebSphereMQ对象。

通过输入以下命令来停止MQSC:

end

注:

参数1:

Q_T传输队列名称

QML_1为队列管理器名称

2.通过MQSC命令创建远程队列

defineqremote(Q1)rname(Q2)rqmname(QML_2)xmitq(Q_T)

注:

参数1:

队列名称(发送方远程队列名)

参数2:

远程队列(接收方的本地接收队列名)

参数3:

远程队列管理器(接收方队列管理器名)

参数4:

传输队列(发送方传输队列名)

3、通过输入以下命令来定义接收通道:

使用如下命令打开接收方队列管理器QML_2的MQSC命令窗口:

runmqscQML_2

定义接收方队列管理器QML_2的接收通道:

definechannel(QML_1.QML_2)chltype(RCVR)trptype(TCP)

启动缺省的监听:

startlistener(system.default.listener.tcp)

4、通过输入以下命令来定义发送方通道:

使用如下命令打开接收方队列管理器QML_1的MQSC命令窗口:

definechannel(QML_1.QML_2)chltype(sdr)conname('192.168.8.34(1415)')xmitq(Q_T)trptype(tcp)

5、通过输入以下命令来启动通道:

startchannel(QML_1.QML_2)

6、使用MQSC来将测试消息放入队列

启动amqsput样本程序,如下所示:

在Linux上,切换到/opt/mqm/samp/bin目录,然后输入命令:

./amqsputQ1

在Windows上,切换到c:

\Program Files\IBM\WebSphereMQ\bin输入命令:

amqsputQ1

此时会显示以下消息:

样本amqsput0启动

目标队列为Q1

在一行或多行上输入某些消息文本,然后按Enter键两次。

此时会显示以下消息:

样本amqsput0结束

8、启动amqsget样本程序,如下所示:

在Linux?

上,切换到/opt/mqm/samp/bin目录,然后输入命令:

./amqsgetQ1

在Windows?

上,切换到c:

\Program Files\IBM\WebSphereMQ\bin输入命令:

amqsgetQ2

屏幕将会显示Q2接收到的消息

 

二.在本地对两个队列管理器进行集群设置

下面我们来具体介绍一下MQ群集的配置过程:

说明:

QML_1的地址:

192.168.8.34(1414)

QML_2的地址:

192.168.8.34(1415)

示例一:

最简单的MQCluster群集

图一

下面介绍如何搭建只有2个队列管理器的群集。

群集名称为CL_Test1

命令行执行:

crtmqm

crtmqmQML_1

crtmqmQML_2

启动队列管理器:

strmqm

strmqmQML_1

strmqmQML_2

 

为队列管理器QML_1和QML_2分别创建群集发送通道和群集接收通道

在QML_1上执行MQSC命令:

DEFINECHANNEL(TO_QML_2)CHLTYPE(CLUSSDR)TRPTYPE(TCP)CONNAME('192.168.8.34(1415)')CLUSTER(CL_Test1)

 

DEFINECHANNEL(TO_QML_1)CHLTYPE(CLUSRCVR)TRPTYPE(TCP)CONNAME('192.168.8.34(1414)')CLUSTER(CL_Test1)

 

在QML_2上执行MQSC命令:

DEFINECHANNEL(TO_QML_1)CHLTYPE(CLUSSDR)TRPTYPE(TCP)CONNAME('192.168.8.34(1414)')CLUSTER(CL_Test1)

 

DEFINECHANNEL(TO_QML_2)CHLTYPE(CLUSRCVR)TRPTYPE(TCP)CONNAME('192.168.8.34(1415)')CLUSTER(CL_Test1)

 

在QML_1和QML_2上分别执行如下MQSC命令,指定QML_1和QML_2为完全仓储库:

Alterqmgrrepos(CL_Test1)

在QML_1上执行如下MQSC命令,创建群集共享队列TESTQ_1:

DEFINEql(TESTQ_1)cluster(CL_Test1)

创建并启动监听器:

在队列管理器QML_1中使用QMSC命令:

DEFINELISTENER(TCPLS1)TRPTYPE(TCP)IPADDR(192.168.8.34)PORT(1415)REPLACE

startlistener(TCPLS1)

在队列管理器QML_2中使用QMSC命令:

DEFINELISTENER(TCPLS1)TRPTYPE(TCP)IPADDR(192.168.8.34)PORT(1414)REPLACE

startlistener(TCPLS1)

验证群集功能:

在QML_2上使用amqsput命令向TESTQ_1队列发送一条消息,命令如下:

amqsputTESTQ_1QML_2

hello!

ThismessagesendingfromQML_2

 

在QML_1上使用amqsget命令读取QML_2发送过来的消息:

amqsgetTESTQ_1QML_1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1