我正在构建一个部署,我在一台机器上有很多java进程。我希望能够在笔记本电脑的舒适环境中连接到他们的JMX mbeans。
要做到这一点,我显然面临两个选择:
我也不喜欢,所以我希望有人能给我一个或多个我尚未想到的其他人。是否有任何方法使代码在内部与JMX代理进行交互并启用并设置端口以进行远程访问?然后我至少可以使用我的服务主干来协商所有这些进程的端口分配。
答案 0 :(得分:1)
可以考虑在本地启动JMX客户端作为代理,这样您只有一个端口
使用attach API连接到运行的活动MBean服务器的所有本地JVM 这样,除了代理实例之外,没有JVM需要配置远程访问。
不要指望现成的很容易找到,所以会涉及一些编码。 也许这会给你一个良好的开端。
http://blogs.oracle.com/jmxetc/entry/proxying_a_jmx_connection_adapting