Remote RMI Registry

The standard Java RMI registry allows only local server objects to register. For many distribution models, however, it is necessary for objects to be able to register remotely. We have built a custom RMI registry that local as well as remote RMI server objects can register with. The usage is completely transparent to RMI servers and clients, i.e. the mechanisms to get a reference to the custom registry and to invoke its methods are exactly the same as with the standard RMI registry that is part of SUN Microsystem's JRE.

The remote RMI registry (RRR) periodically garbage collects invalid bindings. Please note, however, that as a consequence all registered RMI server objects that the RRR cannot contact - e.g. due to firewall or NAT settings - are considered invalid and thus garbage collected.

You can download an executable jar file containing our remote registry implementation. The executable jar file includes a policy file granting the necessary permissions to run the remote registry. When you run the jar file, it starts a remote RMI registry that persistently stores its bindings in a file named .rrrbindings in the current directory.

Based on a design by: styleshout