很多带有mbeans的java进程,如何管理jmx端口

时间:2010-12-03 21:34:47

标签: java daemon jmx

我正在构建一个部署,我在一台机器上有很多java进程。我希望能够在笔记本电脑的舒适环境中连接到他们的JMX mbeans。

要做到这一点,我显然面临两个选择:

  1. 使用VNC进入机器,从而避免分配JMX端口。
  2. 跟踪每个服务的静态分配的JMX远程端口,在启动命令行上的-D中提供。
  3. 我也不喜欢,所以我希望有人能给我一个或多个我尚未想到的其他人。是否有任何方法使代码内部与JMX代理进行交互并启用并设置端口以进行远程访问?然后我至少可以使用我的服务主干来协商所有这些进程的端口分配。

1 个答案:

答案 0 :(得分:1)

可以考虑在本地启动JMX客户端作为代理,这样您只有一个端口

使用attach API连接到运行的活动MBean服务器的所有本地JVM 这样,除了代理实例之外,没有JVM需要配置远程访问。

不要指望现成的很容易找到,所以会涉及一些编码。 也许这会给你一个良好的开端。

http://blogs.oracle.com/jmxetc/entry/proxying_a_jmx_connection_adapting