Hi, I'm using RMI. I have defined all public methods from the Data class (not implementation) in the Remote Interface. I can't extend from the Data class to my Remote server since the server must extend java.rmi.server.UnicastRemoteObject. Is it a good idea to put the server in the Data class??
posted 14 years ago
No, since the Data class is used locally and remotely, it's better to use delegation. I'm applying an Adapter/Proxy pattern: a server class which extends UnicastRemoteObject, implements the DataRemote interface and pass method calls to a Data instance. In addition, the server class deals with remote lock/unlock.