Class RemoteAccessException

  extended byjava.lang.Throwable
      extended byjava.lang.Exception
          extended byjava.lang.RuntimeException
              extended byorg.springframework.core.NestedRuntimeException
                  extended byorg.springframework.remoting.RemoteAccessException
All Implemented Interfaces:
Direct Known Subclasses:
RemoteConnectFailureException, RemoteLookupFailureException

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.

Juergen Hoeller
See Also:
Serialized Form

Field Summary
Fields inherited from class java.lang.RuntimeException
Constructor Summary
RemoteAccessException(String msg)
          Constructor for RemoteAccessException.
RemoteAccessException(String msg, Throwable ex)
          Constructor for RemoteAccessException.
Methods inherited from class org.springframework.core.NestedRuntimeException
contains, getCause, getMessage, printStackTrace, printStackTrace
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getStackTrace, initCause, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public RemoteAccessException(String msg)
Constructor for RemoteAccessException.

msg - message


public RemoteAccessException(String msg,
                             Throwable ex)
Constructor for RemoteAccessException.

msg - message
ex - root cause from remoting API in use

Copyright (C) 2003-2004 The Spring Framework Project.