我正在寻找一种简单直接的方法来向应用程序添加 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();
}
}
}
最佳答案
不确定为什么该适配器无法工作,但您可以在Java Dynamic Management Kit 5.1 Tools Reference Guide的第2章中找到文档。 .
MX4J 还有一个 HTTP Adaptor这也有点旧,但您可能会发现它有更好的文档记录。
您应该看看Jolokia 。它更加现代,并且仍在积极开发中。它是一个基于 HTTP 的 REST 代理,具有多个安装选项,包括 WAR和一个Java Agent 。尽管您可以使用很多工具,但这并不能为您提供用户界面。同一个开发人员正在为 Jolokia 开发一个名为 Aji 的 UI 项目。但我不确定现在是什么状态。
以下是为 Aji 构建的 UI 的一些引用:
关于java - JMX Html 适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15178364/