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(org.aopalliance.intercept.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(org.aopalliance.intercept.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