Called by the RMI runtime sometime after the runtime determines that the reference list, the list of clients referencing the remote object, becomes empty.
Also, the bind method only accepts the string name and the server object. How would I pass an ip address and port for indicating the server location?
The client applications are only aware of the rmi registry port and the ip address of the box, as well as the server name for look up.
I have been able to force this situation by starting a second instance of the remote server and using the rebind method to bind the second instance over the first. When this happens the second instance is the server that will receive all client requests and the first instance will go unrefenced and be garbage collected.
But this does not keep some other process from performing a rebind or other action to remove the first instance. Are there any ways to debug when the bind or rebind methods are executed in the RMI Registry, short of writing my own registry?