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

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    RemoteConnectFailureException, RemoteInvocationFailureException, RemoteLookupFailureException, RemoteProxyFailureException, RemoteTimeoutException

      public class RemoteAccessException
      extends NestedRuntimeException

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

  When using conforming proxies, switching the actual remoting protocol e.g. from Hessian does not affect client code. Clients work with a plain natural 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 a local bean as well.

  A client may catch RemoteAccessException if it wants to, 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 might be working against a remote service, for example in terms of repeated method calls that cause unnecessary roundtrips etc. However, it doesn't have to be aware whether it is actually working against a remote service or a local implementation, or with which remoting protocol it is working under the hood.

  Since:
    14.05.2003
  Author:
    Juergen Hoeller
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RemoteAccessException(String msg)` Constructor for RemoteAccessException.
    `RemoteAccessException(String msg, Throwable cause)` Constructor for RemoteAccessException.

  - ### Method Summary

    - ### Methods inherited from class org.springframework.core.NestedRuntimeException

      `contains, getMessage, getMostSpecificCause, getRootCause`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, 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` - the detail message

    - #### RemoteAccessException

          public RemoteAccessException(String msg,
                                       Throwable cause)

      Constructor for RemoteAccessException.
      Parameters:
        `msg` - the detail message
        `cause` - the root cause (usually from using an underlying remoting API such as RMI)