我的应用程序在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
任何帮助都将不胜感激。
答案 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));
}
}