【问题标题】:How to execute JMXterm with inline script using -cp?如何使用 -cp 使用内联脚本执行 JMXterm?
【发布时间】:2015-02-07 11:48:58
【问题描述】:

在一个批处理文件中,我想使用 jmxterm 来访问 jboss mbeans。 因此我需要将 jboss-eap-6.1\bin\client\jboss-client.jar 包含到类路径中。

所以我需要以这种方式调用 jmxterm 以使其工作:

java -cp .;%JBOSSDIR%/bin/client/jboss-client.jar;jmxterm-1.0-alpha-4-uber.jar org.codehaus.classworlds.uberjar.boot.Bootstrapper --url 服务:jmx:remoting-jmx://localhost:9999

问题:我需要将一个参数传递给我要调用的 MBean 方法。所以我只看到内联传递脚本的选项,但不知道该怎么做。

我发现它应该通过将 jmxterm 命令传递给 jmxterm 调用来工作。适应我的情况(使用 -cp 而不是 -jar)它不起作用:

回显“豆跑”| java -cp .;%JBOSSDIR%/bin/client/jboss-client.jar;jmxterm-1.0-alpha-4-uber.jar org.codehaus.classworlds.uberjar.boot.Bootstrapper --url 服务:jmx:remoting-jmx://localhost: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 方法调用。

有什么想法吗?

【问题讨论】:

    标签: jboss jboss7.x jmx mbeans


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 2020-02-12
      • 2019-06-27
      相关资源
      最近更新 更多