Sumit Sumit - 4 months ago 41
Linux Question

How to close rmiregistry running on particular port?

I am working on Java RMI. I am having little issue with running my rmiregistry on port 2028 as I allready used that one to run my test program. I can run my program using other port but I would like to know, How we can close rmiregistry running on perticular port ?

Answer

If you want to do this in programming, we do something like:

// 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);
}

Here's the full code for our JMXServer class. We have problems creating 2 of these and completely unregistering them so we make sure to run our unit tests on different ports.

I use this code in my SimpleJmx JMX client/service package.