Al ejecutar varias JVM en una sola máquina (también una sola dirección IP), la incorporación de JMX en cada JVM requiere un puerto diferente. Por razones que no entraré en los puertos configurados, tengo una prima en este entorno, así que me gustaría tener un solo proxy JMX en cada máquina que sea capaz de proporcionar acceso a cada una de las JVM locales y sus datos JMX. Esto sería similar a un daemon SNMP local con agentes que se ejecutan en cada proceso por separado.¿Cómo tener un solo proxy JMX para múltiples JVM?
Los puertos efímeros están bien, sin embargo, ya que están fuera del rango impugnado de puertos a los que tengo acceso para configurar JMX explícitamente.
Sé que productos como Oracle Coherence hacen esto internamente, pero ¿hay alguna solución general para hacer esto?
Sí, eso es justo lo que estaba buscando. De hecho, lo había encontrado de forma independiente: http://weblogs.java.net/blog/emcmanus/archive/2007/08/combining_casca.html y parece funcionar bien. Debido a que está usando puertos efímeros y no configurados, realmente funciona para mí. –
Cool. También puede usar la API de conexión para buscar JVM, activar y conectarse al agente de administración (servidor JMX) en cada JVM que encuentre. Las dos API son bastante complementarias para lo que quieres hacer. Advertencia: la API adjunta no funcionará si el "buscador" no tiene privilegios del sistema operativo para señalar otra JVM) – Nicholas
Sí, la API adjunta es perfecta para esto. Además, solo funciona para Sun JVMs también. –