Wenn Sie dies in der Programmierung tun möchten, machen wir so etwas wie:
// 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);
}
Hier ist der vollständige Code für unsere JMXServer-Klasse. Wir haben Probleme, 2 davon zu erstellen und sie vollständig abzumelden, also stellen wir sicher, dass wir unsere Komponententests auf verschiedenen Ports ausführen.
Ich verwende diesen Code in meinem SimpleJmx-JMX-Client/Service-Paket.
Nach so viel Ärger stelle ich plötzlich fest, dass rmiregistry im Hintergrund der Shell läuft. Also alles, was wir tun müssen, um es zu schließen, bringen Sie es zuerst in den Vordergrund und schließen Sie es dann. Und es hat funktioniert.
Übrigens, um es in den Vordergrund zu bringen, geben Sie einfach ein:
% fg
und dann um es zu schließen, geben Sie ein:
Strg + c
Das ist es. Vielen Dank an alle, die versucht haben, mir zu helfen.