Thanks a lot Gregg. This is certainly an interesting idea worth exploring.
I will let you know how it goes.

Thanks,
Palash.

On Tue, Jun 9, 2015 at 8:45 AM, Greg Trasuk <tras...@stratuscom.com> wrote:

>
> If you’re making remote calls, then there is a definite chance that you
> will have communications errors.  So, it’s probably not a good idea to just
> hide the errors, especially since the application handling/response to a
> communications error really should be different from the handling of an
> applications error.  With a communications error, (1) it may be worthwhile
> to just try it again later, (2) you don’t really know whether the other end
> processed the call, so the response is somewhat indeterminate.  As a
> result, we typically don’t recommend using unchecked exceptions.  The
> Remote interface and the IOException that’s thrown from a remote call is
> meant to remind developers that things are different on a network.
>
> For more thoughts on this, you should read “A Note on Distributed
> Computing” (http://eecs.harvard.edu/~waldo/Readings/waldo-94.pdf <
> http://eecs.harvard.edu/~waldo/Readings/waldo-94.pdf>).  This paper
> really forms the basis of the Jini philosophy, along with the Eight
> Fallacies (http://en.wikipedia.org/wiki/Fallacies_of_distributed_computing
> <http://en.wikipedia.org/wiki/Fallacies_of_distributed_computing>).
>
> Having said that, if you really want to use unchecked exceptions, just
> write a smart proxy that converts the IOExceptions to some runtime
> exception (you could probably even do this generically using
> “java.lang.reflect.Proxy”), and register the smart proxy with Reggie rather
> than the actual exported endpoint.
>
> Cheers,
>
> Greg Trasuk
>
> > On Jun 8, 2015, at 3:49 PM, Palash Ray <paa...@gmail.com> wrote:
> >
> > Devs,
> >
> > I have long struggled with the fact that we have to declare a
> > RemoteException for every Remote method that I expose. I do not like
> > the try catch, which is pretty verbose, and in our application, when
> > we do encounter a RemoteExceotion, its always fatal, and there is no
> > way we can, or want, to recover from it.
> >
> > I would like to explore the possibility of using an unchecked
> > exception, instead.
> >
> > I guess it would work if I extend the BasicIlFactory and override the
> > method, which checks for the presence of the RemoteException in the
> > remote method. However, it seems to me to be a bit hacky.
> >
> > Is there an elegant solution to this problem? Thoughts please.
> >
> > Thanks,
> > Palash.
>
>

Reply via email to