プログラミングでこれを行いたい場合は、次のようにします:
// 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);
}
JMXServer クラスの完全なコードは次のとおりです。これらのうち 2 つを作成して完全に登録解除するのに問題があるため、別のポートで単体テストを実行するようにしています。
SimpleJmx JMX クライアント/サービス パッケージでこのコードを使用しています。
面倒な作業の後、rmiregistry がシェルのバックグラウンドで実行されていることに突然気付きました。したがって、閉じるには、最初にフォアグラウンドに移動してから閉じる必要があります。
ところで、それを前面に表示するには、次のように入力します:
% fg
閉じるには、次のように入力します:
Ctrl + c
それでおしまい。私を助けようとしてくれた皆さん、どうもありがとう。