1

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

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

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

这是来自 JMXTerm 的错误

$>open service:jmx:http-remoting-jmx://localhost:9990 RuntimeIOException: Runtime IO exception: Unsupported protocol: http-remoting-j mx

任何帮助将不胜感激。

4

1 回答 1

-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));

    }
}
于 2017-01-31T15:17:35.760 回答