1

我正在寻找一种简单直接的方法来向应用程序添加 JMX 功能,最好通过 http 公开。下面是简单的代码片段,我怀疑它应该在 8000 上运行 http 服务器。我应该能够通过http://localhost:8000. 但是页面无法打开。我找不到正确的文档它应该如何工作。

jmxtools-1.2.jar 包含在类路径中。Java 版本 - 1.6

import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import com.sun.jdmk.comm.HtmlAdaptorServer;

public class JmxHttpAdapter {
    public static void main(String[] args) {
        try {
            com.sun.jdmk.comm.HtmlAdaptorServer adapter = new HtmlAdaptorServer(8000);
            MBeanServerFactory.createMBeanServer().registerMBean(adapter, new ObjectName("Adaptor:name=html,port=8000"));
            adapter.start();
            Thread.sleep(100000);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
4

1 回答 1

2

不确定为什么该适配器不起作用,但您可以在Java Dynamic Management Kit 5.1 Tools Reference Guide的第 2 章中找到文档。

MX4J 也有一个HTTP 适配器,它也有点旧,但您可能会发现它有更好的文档记录。

你应该看看Jolokia。它更现代,仍在积极发展中。它是一个基于 HTTP 的 REST 代理,具有多个安装选项,包括WARJava 代理。尽管您可以使用很多工具,但这并不能为您提供 UI。同一位开发人员正在为 Jolokia 开发一个名为Aji的 UI 项目,但我不确定现在处于什么状态。

以下是为 Aji 构建的 UI 的一些参考:

于 2013-03-02T20:17:36.783 回答