Jika Anda ingin melakukan ini dalam pemrograman, kami melakukan sesuatu seperti:
// 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);
}
Berikut kode lengkap untuk kelas JMXServer kami. Kami mengalami masalah saat membuat 2 di antaranya dan membatalkan pendaftarannya sepenuhnya, jadi kami memastikan untuk menjalankan pengujian unit kami di port yang berbeda.
Saya menggunakan kode ini dalam paket klien/layanan SimpleJmx JMX saya.
Setelah begitu banyak kerumitan, saya tiba-tiba menyadari bahwa rmiregistry berjalan di latar belakang shell. Jadi yang harus kita lakukan adalah menutupnya terlebih dahulu membawanya ke latar depan dan kemudian menutupnya. Dan itu berhasil.
BTW untuk membawanya ke latar depan cukup ketik:
% fg
lalu untuk menutupnya ketik:
Ctrl + c
Itu dia. Terima kasih banyak semua orang yang mencoba membantu saya.