我有一个支持JMX的Java应用程序(Java 1.5),它位于HTTP代理服务器后面.所以我无法通过JConsole直接访问它.
我想要的解决方案是在我的应用程序中安装一个VM内JMX客户端,它从JMX服务器收集统计信息和配置数据,并通过代理定期通过HTTP将其发布到我的外部服务器.如果需要,我的外部服务器会回复任何配置更改,并且in-VM JMX客户端会将这些更改传播到将其应用于应用程序的JMX服务器.
我猜这是一个频繁到足以让解决方案解决它的方案.是否有任何帮助框架/库通过HTTP启用此类访问?
解决方法:
不确定这是你需要的,但有一个非常好的JMX到REST桥,叫做Jolokia.如果将其添加到应用程序中,您将能够通过REST接口与JMX交互,该接口可通过HTTP代理访问,就像任何其他HTTP流量一样.因此,您不仅通过HTTP隧道化JMX,而且还以更好的格式(JSON over HTTP)公开它.
它有相当不错的documentation,也见到我的showcase.