JMSAdmin工具可以在命令模式下管理MQ的一些对象,比如新建或修改一个队列连接工厂、主题连接工厂、队列、主题等等,当然建队列一般使用MQSI命令了。
JMSAdmin依据平台的不同,存在于/usr/mqm/java/bin或/opt/mqm/java/bin下,可以通过交互方式进入JMSAdmin工具,默认使用配置文件JMSAdmin.config,也可以使用参数-cfg cfg_file指定要使用的配置文件。
在使用JMSAdmin工具前先对JMSAdmin.config配置文件做一些修改,内容如下:
INITIAL_CONTEXT_FACTORY=com.ibm.mq.jms.context.WMQInitialContextFactory
PROVIDER_URL=IP:PORT/CHANNEL
其中IP和PORT是MQ监听器的监听IP和端口,CHANNEL是已在MQ端建立的服务器连接通道。
大家有没有发现这个和使用JAVA通过JNDI访问MQ很类似,这些正是需要设置到CONTEXT中去的那些值。
然后设置两个环境变量,一个是确定java命令的位置,一个是要加载的类:
export PATH=$PATH:/usr/java14/bin
export CLASSPATH=$CLASSPATH:com.ibm.mqjms.jar:mqcontext.jar:com.ibm.mq.pcf.jar
其中com.ibm.mqjms.jar位于MQ安装目录下的java/lib里,后面两个jar包需要下载支持包ME01和MS0B,见下面,将打叉的图片另存为就可以了,注意是两个zip包:
全部做完后就可以使用JMSAdmin工具了。JMSAdmin工具能管理的对象有:对象名称
对应命令中的名称
备注
MQConnectionFactory
cf
连接工厂
MQQueueConnectionFactory
qcf
队列连接工厂
MQTopicConnectionFactory
tcf
主题连接工厂
MQQueue
q
队列
MQTopic
t
主题
MQXAConnectionFactory
MQXAQueueConnectionFactory
MQXATopicConnectionFactory其中后面几个带XA的对象不常用,所以不解释了。
JMSAdmin工具常用的命令有:
命令名称
简写命令
作用
alter
alt
更改对象属性
define
def
定义对象
display
dis
显示对象属性
delete
del
删除对象
end
退出
例子:
dis ctx:列出所有定义的对象
dis tcf(*):列出所有定义的主题连接工厂的详细信息
dis tcf(TestTCF):列出名为TestTCF的主题连接工厂的详细信息
del tcf(TestTCF):删除名为TestTCF的主题连接工厂
def t(TestTopic) topic(TestTopic):定义名为TestTopic的主题
def tcf(TestTCF) hostname(192.168.18.18) port(1414) qmanager(QMGR) channel(MYSVRCONN) transport(CLIENT) :定义名为TestTCF的主题连接工厂