尝试从命令行

时间:2017-01-27 16:39:56

标签: wildfly-8 jconsole spring-jmx jboss-cli

我的应用程序在Wildfly-8.0.1上运行。目前,我可以使用服务通过JConsole触发MBean方法:jmx:http-remoting-jmx:// localhost:9990。

我想编写一些脚本来触发这些命令,但我没有找到支持工具来完成它。

我尝试了以下工具,但似乎他们不支持http-remoting-jmx协议,或者可能是我没有以正确的方式使用 1. JMXTerm 2. Cmdline_JMXClient 3. JManage 4. CJMX

以下是JMXTerm的错误

$>打开服务:jmx:http-remoting-jmx:// localhost:9990 RuntimeIOException:运行时IO异常:不支持的协议:http-remoting-j MX

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:-1)

使用以下类创建自定义jar文件。

import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;

public class JMXCli {

    //private static List<String> operations;

    private static final String SERVICE_URL = "service:jmx:http-remoting-jmx://";

    public static void main(String[] args) throws Exception {

        JMXServiceURL url = new JMXServiceURL(SERVICE_URL + args[0]);

        JMXConnector connector = JMXConnectorFactory.connect(url);

        MBeanServerConnection connection = connector.getMBeanServerConnection();

        ObjectName objectName = new ObjectName("com.xyz.com:name=<<Your MBean class name>>");

        System.out.println(connection.invoke(objectName, args[1], null, null));

    }
}