org.springframework.remoting
Class RemoteAccessException

java.lang.Object
  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:
Serializable
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.

Since:
14.05.2003
Author:
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

RemoteAccessException

public RemoteAccessException(String msg)
Constructor for RemoteAccessException.

Parameters:
msg - message

RemoteAccessException

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

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


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