org.springframework.remoting
Class RemoteAccessException

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--java.lang.RuntimeException
                    |
                    +--org.springframework.core.NestedRuntimeException
                          |
                          +--org.springframework.remoting.RemoteAccessException

public class RemoteAccessException
extends NestedRuntimeException

Generic remote access exception. A service proxy for any remoting protocol and toolkit should throw this exception or subclasses of it, to be able to transparently expose a plain Java business interface.

When using conforming proxies, switching the actual remoting toolkit e.g. from Hessian to Burlap does not affect client code. The latter works with a plain Java business interface that the service exposes. A client object simply receives an implementation for the interface that it needs via a bean reference, like it does for local beans too.

A client can catch RemoteAccessException if it wants too, but as remote access errors are typically unrecoverable, it will probably let such exceptions propagate to a higher level that handles them generically. In this case, the client code doesn't show any signs of being involved in remote access, as there aren't any remoting-specific dependencies.

Even when switching from a remote service proxy to a local implementation of the same interface, this amounts to just a matter of configuration. Obviously, the client code should be somewhat aware that it _could work_ on a remote service, for example in terms of repeated method calls that cause unnecessary roundtrips etc. But it doesn't have to be aware whether it actually works on a remote service or a local implementation, or with which remoting toolkit under the hood.

Author:
Juergen Hoeller
Since: 14.05.2003

Constructor Summary
RemoteAccessException(String msg, Throwable ex)
           

Methods inherited from class org.springframework.core.NestedRuntimeException
getCause, getMessage, printStackTrace, printStackTrace

Methods inherited from class java.lang.Throwable
printStackTrace, getStackTrace, setStackTrace, getLocalizedMessage, toString, fillInStackTrace, initCause

Methods inherited from class java.lang.Object
hashCode, notify, notifyAll, wait, wait, wait, getClass, equals

Constructor Detail

RemoteAccessException

public RemoteAccessException(String msg, Throwable ex)