【问题标题】:Trying to trigger JMX Mbean functions from command line尝试从命令行触发 JMX Mbean 函数
【发布时间】:2017-06-13 10:06:09
【问题描述】:

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

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

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

这是来自 JMXTerm 的错误

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

任何帮助将不胜感激。

【问题讨论】:

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


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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-30
      • 2011-08-09
      • 2018-07-26
      相关资源
      最近更新 更多