I have what I thought was a framework that would allow me to create a client/server application where the server could either reside remotely or operate locally, as part of the client component. I created the following classes and interfaces to accomodate local and remote access to the server:
As you can see the methods in Service all throw ServiceException. This is fine if LocalService is to be Service's only implementation; however, since it is extended by RemoteService with the intention of using it as a remote object, its methods should also throw RemoteException. Right? I thought I solved this as follows:
However, when I invoke rmic on RMIService I get the following errors:
I don't understand how this can be since I've defined ServiceException to extend RemoteException, so ServiceException IS A RemoteException. What am I missing here?
Also, I'm already just about finished with the local version of the application so I'm hoping that there is something I can do that will not require me to do too much rewriting, if any. Any feedback appriciated.
problem itself was very fundamental; You should declare each method in Service interface throwing RemoteException while implimenting RMIService class you can still throw ServiceException Object as Service Exception is derived from RemoteException; so change in declaration is not going to affect your implimentation