尝试从命令行触发 JMX Mbean 函数
Trying to trigger JMX Mbean functions from command line
我的应用程序在 Wildfly-8.0.1 上 运行。目前,我可以使用 service:jmx:http-remoting-jmx://localhost:9990 通过 JConsole 触发 MBean 方法。
我想编写一些脚本来触发这些命令,但我没有找到实现该功能的支持工具。
我尝试了以下工具,但它们似乎不支持 http-remoting-jmx 协议,或者可能是我没有以正确的方式使用
1.JMX术语
2. Cmdline_JMXClient
3.J管理
4. CJMX
这是来自 JMXTerm 的错误
$>打开service:jmx:http-remoting-jmx://localhost:9990
RuntimeIOException:运行时 IO 异常:不支持的协议:http-remoting-j
mx
如有任何帮助,我们将不胜感激。
使用以下方法创建自定义 jar 文件 class。
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));
}
}
我的应用程序在 Wildfly-8.0.1 上 运行。目前,我可以使用 service:jmx:http-remoting-jmx://localhost:9990 通过 JConsole 触发 MBean 方法。
我想编写一些脚本来触发这些命令,但我没有找到实现该功能的支持工具。
我尝试了以下工具,但它们似乎不支持 http-remoting-jmx 协议,或者可能是我没有以正确的方式使用 1.JMX术语 2. Cmdline_JMXClient 3.J管理 4. CJMX
这是来自 JMXTerm 的错误
$>打开service:jmx:http-remoting-jmx://localhost:9990 RuntimeIOException:运行时 IO 异常:不支持的协议:http-remoting-j mx
如有任何帮助,我们将不胜感激。
使用以下方法创建自定义 jar 文件 class。
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));
}
}