public abstract class RmiClientInterceptorUtils extends Object
Note: This is an SPI class, not intended to be used by applications.
Constructor and Description |
---|
RmiClientInterceptorUtils() |
Modifier and Type | Method and Description |
---|---|
static Exception |
convertRmiAccessException(Method method,
RemoteException ex,
boolean isConnectFailure,
String serviceName)
Convert the given RemoteException that happened during remote access
to Spring's RemoteAccessException if the method signature does not
support RemoteException.
|
static Exception |
convertRmiAccessException(Method method,
RemoteException ex,
String serviceName)
Convert the given RemoteException that happened during remote access
to Spring's RemoteAccessException if the method signature does not
support RemoteException.
|
static Exception |
convertRmiAccessException(Method method,
Throwable ex,
String message)
Wrap the given arbitrary exception that happened during remote access
in either a RemoteException or a Spring RemoteAccessException (if the
method signature does not support RemoteException).
|
static Object |
invokeRemoteMethod(MethodInvocation invocation,
Object stub)
Perform a raw method invocation on the given RMI stub,
letting reflection exceptions through as-is.
|
static boolean |
isConnectFailure(RemoteException ex)
Determine whether the given RMI exception indicates a connect failure.
|
public static Object invokeRemoteMethod(MethodInvocation invocation, Object stub) throws InvocationTargetException
invocation
- the AOP MethodInvocationstub
- the RMI stubInvocationTargetException
- if thrown by reflectionpublic static Exception convertRmiAccessException(Method method, Throwable ex, String message)
Only call this for remote access exceptions, not for exceptions thrown by the target service itself!
method
- the invoked methodex
- the exception that happened, to be used as cause for the
RemoteAccessException or RemoteExceptionmessage
- the message for the RemoteAccessException respectively
RemoteExceptionpublic static Exception convertRmiAccessException(Method method, RemoteException ex, String serviceName)
method
- the invoked methodex
- the RemoteException that happenedserviceName
- the name of the service (for debugging purposes)public static Exception convertRmiAccessException(Method method, RemoteException ex, boolean isConnectFailure, String serviceName)
method
- the invoked methodex
- the RemoteException that happenedisConnectFailure
- whether the given exception should be considered
a connect failureserviceName
- the name of the service (for debugging purposes)public static boolean isConnectFailure(RemoteException ex)
Treats RMI's ConnectException, ConnectIOException, UnknownHostException, NoSuchObjectException and StubNotFoundException as connect failure.
ex
- the RMI exception to checkConnectException
,
ConnectIOException
,
UnknownHostException
,
NoSuchObjectException
,
StubNotFoundException