public class RemoteInvocationTraceInterceptor extends Object implements MethodInterceptor
Logs an incoming remote call as well as the finished processing of a remote call at DEBUG level. If the processing of a remote call results in a checked exception, the exception will get logged at INFO level; if it results in an unchecked exception (or error), the exception will get logged at WARN level.
The logging of exceptions is particularly useful to save the stacktrace information on the server-side rather than just propagating the exception to the client (who might or might not log it properly).
RemoteExporter.setRegisterTraceInterceptor(boolean),
RemoteExporter.getProxyForService()| Constructor and Description |
|---|
RemoteInvocationTraceInterceptor()
Create a new RemoteInvocationTraceInterceptor.
|
RemoteInvocationTraceInterceptor(String exporterName)
Create a new RemoteInvocationTraceInterceptor.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
invoke(MethodInvocation invocation)
Implement this method to perform extra treatments before and
after the invocation.
|
protected static final Log logger
public RemoteInvocationTraceInterceptor()
public RemoteInvocationTraceInterceptor(String exporterName)
exporterName - the name of the remote exporter
(to be used as context information in log messages)public Object invoke(MethodInvocation invocation) throws Throwable
MethodInterceptorJoinpoint.proceed().invoke in interface MethodInterceptorinvocation - the method invocation joinpointJoinpoint.proceed();
might be intercepted by the interceptorThrowable - if the interceptors or the target object
throws an exception