RMI and versioning
I have a client/server app that uses RMI to communicate. I have a few questions. I'm new to RMI so if what I'm asking doesn't make much sense, correct me.
I deploy the client and server. Now I update the remote interface to add new functionality by adding a new method, I thought that this would cause the old client to stop working, but the old client worked just fine. What changes would I need to make that would cause the old client to stop working?
And related to that, what is the best way to ensure that making changes to the remote interface will not affect old versions of the client? I read that subclassing the old interface and implementation of it and then binding both the old implementation and new implementation would work so that new clients can ask for the new one and old clients can still get the old one, but is there a better way to do it, like using the codebase or something?
Thanks

