当前位置: 代码迷 >> Web前端 >> IBM WebSphere MQ 系列(4) 使用MQ命令
  详细解决方案

IBM WebSphere MQ 系列(4) 使用MQ命令

热度:713   发布时间:2013-03-21 10:08:17.0
IBM WebSphere MQ 系列(四) 使用MQ命令

结合上节使用到的MQ命令,本节系统阐述MQ的命令。

?

一、MQ命令集合

? ? MQ命令集合有三种命令:控制命令、MQSC(MQ脚本命令)和PCF(Programmable Command Formats,可编程的命令格式)。

?

二、控制命令

? ? 控制命令:用于管理 WebSphere MQ的系统配置,包括队列管理器、侦听器、通道、日志的管理。

? ? 例如:创建队列管理器(crtmqm),启动队列管理器(strmqm),启动用于运行队列管理器MQSC命令的控制台(runmqsc)、运行通道(runmqchl)

? ? 对于Linux,WebSphere MQ 控制命令都从 shell输入和执行。

?

控制命令列表如下所示:

addmqinf(添加配置信息)

amqccert(检查证书链)

amqmdain(WebSphere MQ 服务控制)

amqmfsck(文件系统检查)

amqtcert(传送证书)

crtmqcvx(数据转换)

crtmqm(创建队列管理器)

dltmqm(删除队列管理器)

dmpmqaut(转储权限)

dmpmqlog(转储日志)

dspmq(显示队列管理器)

dspmqaut(显示权限)

dspmqcsv(显示命令服务器)

dspmqfls(显示文件)

dspmqinf(显示配置信息)

dspmqrte(WebSphere MQ 显示路由应用程序)

dspmqtrc(显示格式化的跟踪输出)

dspmqtrn(显示事务)

dspmqver(显示版本信息)

endmqcsv(结束命令服务器)

endmqlsr(结束侦听器)

endmqdnm(停止 .NET 监视器)

endmqm(结束队列管理器)

endmqtrc(结束跟踪)

migmbbrk(迁移发布/预订信息)

mqftapp(运行文件传输应用程序 GUI)

mqftrcv(在服务器上接收文件)

mqftrcvc(在客户机上接收文件)

mqftsnd(从服务器发送文件)

mqftsndc(从客户机发送文件)

rcdmqimg(记录介质映像)

rcrmqobj(重新创建对象)

rmvmqinf(除去配置信息)

rsvmqtrn(解决事务)

runmqchi(运行通道启动程序)

runmqchl(运行通道)

runmqdlq(运行死信队列处理程序)

runmqdnm(运行 .NET 监视器)

runmqlsr(运行侦听器)

runmqsc(运行 MQSC 命令)

runmqtmc(启动客户机触发器监视器)

runmqtrm(启动触发器监视器)

setmqaut(授予或撤销权限)

setmqcrl(设置证书撤销列表 (CRL) LDAP 服务器定义)

setmqprd(登记生产许可证)

setmqscp(设置服务连接点)

strmqcfg(启动 WebSphere MQ 资源管理器)

strmqcsv(启动命令服务器)

strmqm(启动队列管理器)

strmqtrc(启动跟踪)

?

三、MQSC

? ? MQSC全称为MQ Script Command,MQ脚本命令

? ? MQSC用于管理队列管理器对象,包括队列管理器本身、通道、队列、侦听器和进程定义。?

? ? 对于Linux,若要执行MQSC,则需要启动脚本命令控制台;启动方式:在shell执行控制命令runmqsc

WebSphere MQ V7.0 的MQSC列表如下所示:

ALTER AUTHINFO

ALTER BUFFPOOL

ALTER CFSTRUCT

ALTER CHANNEL

ALTER LISTENER

ALTER NAMELIST

ALTER PROCESS

ALTER PSID

ALTER QMGR

ALTER 队列

ALTER SECURITY

ALTER SERVICE

ALTER STGCLASS

ALTER SUB

ALTER TOPIC

ALTER TRACE

ARCHIVE LOG

BACKUP CFSTRUCT

CLEAR QLOCAL

CLEAR TOPICSTR

DEFINE AUTHINFO

DEFINE BUFFPOOL

DEFINE CFSTRUCT

DEFINE CHANNEL

DEFINE LISTENER

DEFINE LOG

DEFINE MAXSMSGS

DEFINE NAMELIST

DEFINE PROCESS

DEFINE PSID

DEFINE QUEUES

DEFINE SERVICE

DEFINE STGCLASS

DEFINE SUB

DEFINE TOPIC

DELETE AUTHINFO

DELETE BUFFPOOL

DELETE CFSTRUCT

DELETE CHANNEL

DELETE LISTENER

DELETE NAMELIST

DELETE PROCESS

DELETE PSID

DELETE QUEUES

DELETE SERVICE

DELETE SUB

DELETE STGCLASS

DELETE TOPIC

DISPLAY ARCHIVE

DISPLAY AUTHINFO

DISPLAY CFSTATUS

DISPLAY CFSTRUCT

DISPLAY CHANNEL

DISPLAY CHINIT

DISPLAY CHSTATUS

DISPLAY CLUSQMGR

DISPLAY CMDSERV

DISPLAY CONN

DISPLAY GROUP

DISPLAY LISTENER

DISPLAY LOG

DISPLAY LSSTATUS

DISPLAY MAXSMSGS

DISPLAY NAMELIST

DISPLAY PROCESS

DISPLAY PUBSUB

DISPLAY QMGR

DISPLAY QMSTATUS

DISPLAY QSTATUS

DISPLAY QUEUE

DISPLAY SBSTATUS

DISPLAY SECURITY

DISPLAY SERVICE

DISPLAY STGCLASS

DISPLAY SUB

DISPLAY SVSTATUS

DISPLAY SYSTEM

DISPLAY THREAD

DISPLAY TOPIC

DISPLAY TPSTATUS

DISPLAY TRACE

DISPLAY USAGE

MOVE QLOCAL

PING CHANNEL

PING QMGR

RECOVER BSDS

RECOVER CFSTRUCT

REFRESH CLUSTER

REFRESH QMGR

REFRESH SECURITY

RESET CHANNEL

RESET CLUSTER

RESET QMGR

RESET QSTATS

RESET TPIPE

RESOLVE CHANNEL

RESOLVE INDOUBT

RESUME QMGR

RVERIFY SECURITY

SET ARCHIVE

SET LOG

SET SYSTEM

START CHANNEL

START CHINIT

START CMDSERV

START LISTENER

START QMGR

START SERVICE

START TRACE

STOP CHANNEL

STOP CHINIT

STOP CMDSERV

STOP CONN

STOP LISTENER

STOP QMGR

STOP SERVICE

STOP TRACE

SUSPEND QMGR

?

四、PCF

? ? PCF,全称为Programmable Command Formats,可编程的命令格式。

? ? WebSphere MQ PCF用于MQ的系统管理编程,应用程序使用PCF实现MQSC的功能,使得MQ管理任务可编写到应用程序中,PCF 命令和MQSC 命令具有相同的命令集;例如,PCF使得可以在程序中创建队列和进程定义和更改队列管理器。

? ? 下面的Java代码描述MQ客户机端程序通过PCF更改远程服务器上所以的队列的名称,并打印到控制台的过程。

public static void main (String [] args){
		PCFMessageAgent	agent;
		PCFMessage 	request;
		PCFMessage [] 	responses;
		String [] 	names;


		agent = new PCFMessageAgent ("192.168.222.132",1414,"JAVA.CHANNEL");
		System.out.println ("Connected.");

		// Build the PCF request

		request = new PCFMessage (CMQCFC.MQCMD_INQUIRE_Q_NAMES);
		request.addParameter (CMQC.MQCA_Q_NAME, "*");
		request.addParameter (CMQC.MQIA_Q_TYPE, CMQC.MQQT_ALL);

		System.out.print ("Sending PCF request... ");

		// Use the agent to send the request

		responses = agent.send (request);
		System.out.println ("Received reply.");

		// Extract the MQCACF_Q_NAMES parameter from the response

		names = (String []) responses [0].getParameterValue (CMQCFC.MQCACF_Q_NAMES);

		// Display the results

		System.out.println ("Queue names:");

		for (int i = 0; i < names.length; i++)
		{
			System.out.println ("\t" + names [i]);
		}

		// Disconnect the agent

		System.out.print ("Disconnecting... ");
		agent.disconnect ();
		System.out.println ("Done.");		
}

?

MQAI,全称为MQ Administration Interface,MQ管理接口

? ? MQAI:除了PCF的系统管理编程接口之外,WebSphere MQ还提供另外一种系统管理编程接口,即:MQ管理接口(MQ Administration Interface,简称为MQAI),MQAI是MQ 提供的一种简化的、实现发送和接收PCF命令消息和回复消息的接口,MQAI通过使用数据包(Data Bags)来处理对象的属性,这样比直接使用PCF更简单。

? ? MQAI的底层工作机制同PCF一样,也是通过发送PCF命令消息到MQ命令服务器队列,从而被命令服务器解释执行,并等待回复消息来管理WebSphere MQ,如图所示:



?

MQAI是PCF的易用版本。?

?

有关PCF和MQAI的详细信息,请参考MQ的帮助文档和IBM工程师编写的MQ系统管理编程概述一文

http://www.ibm.com/developerworks/cn/websphere/library/techarticles/loulijun/0402_mqsysm/mqsysm.html

?

五、其他命令

例如amqsput(向队列放入消息)、amqsget(从队列取消息)为MQ的内置样本程序。

?

? MQ V7.0 在线帮助文档
? MQ V7.5 在线帮助文档