许多使用MBean的java进程,如何管理jmx端口

许多使用MBean的java进程,如何管理jmx端口,java,daemon,jmx,Java,Daemon,Jmx,我正在构建一个部署,在一台机器上有许多java进程。我希望能够从舒适的笔记本电脑连接到他们的JMX MBean 要做到这一点,我显然面临两个选择: 使用VNC进入机器,从而避免分配JMX端口 跟踪每个服务静态分配的JMX远程端口,这些端口在启动命令行的-D中提供 我真的不喜欢这两个,所以我希望有人能给我一个或多个我还没有想到的人。进程内的代码是否有任何方法与JMX代理交互,并启用和设置远程访问的端口?然后,我至少可以使用我的服务骨干来为所有这些进程协商端口分配。 可以考虑在本地启动JMX客户端作

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

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

  • 使用VNC进入机器,从而避免分配JMX端口
  • 跟踪每个服务静态分配的JMX远程端口,这些端口在启动命令行的-D中提供

  • 我真的不喜欢这两个,所以我希望有人能给我一个或多个我还没有想到的人。进程内的代码是否有任何方法与JMX代理交互,并启用和设置远程访问的端口?然后,我至少可以使用我的服务骨干来为所有这些进程协商端口分配。

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

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

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


    你能给我指一下JMX代理吗?我去找了,但没找到。