2015-02-07 35 views
1

在批處理文件中,我想使用jmxterm來訪問jboss mbeans。 因此我需要將jboss-eap-6.1 \ bin \ client \ jboss-client.jar包含到類路徑中。如何使用-cp執行內聯腳本執行JMXterm?

所以我需要調用jmxterm那種方式得到它的工作:

java命令 ;%JBOSSDIR%/斌/客戶/的jboss-client.jar中; jmxterm-1.0-α- 4- uber.jar org.codehaus.classworlds.uberjar.boot.Bootstrapper --url 服務:JMX:遠程-JMX://本地主機:9999

問題:我需要將參數傳遞到我想調用的MBean方法。所以我只能看到內聯腳本傳遞的選項,但不知道該怎麼做。

我發現它應該通過將jmxterm命令輸送到jmxterm調用來工作。適應我的情況(使用-cp而不是-jar)它不起作用:

echo「bean run」| java -cp 。;%JBOSSDIR%/ bin/client/jboss-client.jar; jmxterm-1.0-alpha-4-uber.jar org.codehaus.classworlds.uberjar.boot.Bootstrapper --url service:jmx :遠程-JMX://本地主機:9999 -n

我得到以下輸出:

Feb 04, 2015 3:26:00 PM org.xnio.Xnio <clinit> 
INFO: XNIO Version 3.0.7.GA-redhat-1 
Feb 04, 2015 3:26:00 PM org.xnio.nio.NioXnio <clinit> 
INFO: XNIO NIO Implementation Version 3.0.7.GA-redhat-1 
Feb 04, 2015 3:26:00 PM org.jboss.remoting3.EndpointImpl <clinit> 
INFO: JBoss Remoting version 3.2.16.GA-redhat-1 
Welcome to JMX terminal. Type "help" for available commands. 
#IllegalArgumentException: Command "bean isn't valid, run help to see available commands 

傳遞的腳本文件的工作,但我需要內嵌通過腳本來傳遞參數給mbean方法調用。

任何想法?

回答

1

我不知道,如果這是你的意思與通過腳本文件,但你可以給所有執行信息作爲調用文件:

java -cp .;%JBOSSDIR%/bin/client/jboss-client.jar;jmxterm-1.0-alpha-4-uber.jar 
org.codehaus.classworlds.uberjar.boot.Bootstrapper -v silent -n < commands.txt 

,然後有一個commands.txt爲:

open -u service:jmx:remoting-jmx://localhost:9999 
run -b com.your.package:type=BeanName methodName parameter1 
close