Si quieres hacer esto en la programación, hacemos algo como:
// create the registry
Registry rmiRegistry = LocateRegistry.createRegistry(port);
...
// connect to it
JMXConnectorServer connector =
JMXConnectorServerFactory.newJMXConnectorServer(url,
new HashMap<String, Object>(),
ManagementFactory.getPlatformMBeanServer());
// do stuff with it ...
// close the connection
if (connector != null) {
connector.stop();
}
// deregister the registry
if (rmiRegistry != null) {
UnicastRemoteObject.unexportObject(rmiRegistry, true);
}
Aquí está el código completo para nuestra clase JMXServer. Tenemos problemas para crear 2 de estos y eliminarlos por completo, por lo que nos aseguramos de ejecutar nuestras pruebas unitarias en diferentes puertos.
Uso este código en mi paquete de servicio/cliente JMX SimpleJmx.
Después de tantas molestias, de repente me doy cuenta de que rmiregistry se ejecuta en el fondo del shell. Entonces, todo lo que tenemos que hacer es cerrarlo, primero traerlo a primer plano y luego cerrarlo. Y funcionó.
Por cierto, para ponerlo en primer plano, simplemente escriba:
% fg
y luego para cerrarlo escribe:
Ctrl + c
Eso es todo. Muchas gracias a todos los que intentaron ayudarme.