Class RemoteInvocationTraceInterceptor
- java.lang.Object
- org.springframework.remoting.support.RemoteInvocationTraceInterceptor
- All Implemented Interfaces:
Advice
,Interceptor
,MethodInterceptor
public class RemoteInvocationTraceInterceptor extends Object implements MethodInterceptor
AOP Alliance MethodInterceptor for tracing remote invocations. Automatically applied by RemoteExporter and its subclasses.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).
- Since:
- 1.2
- Author:
- Juergen Hoeller
- See Also:
RemoteExporter.setRegisterTraceInterceptor(boolean)
,RemoteExporter.getProxyForService()
Constructor Summary
Constructors Constructor Description RemoteInvocationTraceInterceptor()
Create a new RemoteInvocationTraceInterceptor.RemoteInvocationTraceInterceptor(String exporterName)
Create a new RemoteInvocationTraceInterceptor.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
invoke(MethodInvocation invocation)
Implement this method to perform extra treatments before and after the invocation.
Constructor Detail
RemoteInvocationTraceInterceptor
public RemoteInvocationTraceInterceptor()
Create a new RemoteInvocationTraceInterceptor.
RemoteInvocationTraceInterceptor
public RemoteInvocationTraceInterceptor(String exporterName)
Create a new RemoteInvocationTraceInterceptor.- Parameters:
exporterName
- the name of the remote exporter (to be used as context information in log messages)
Method Detail
invoke
public Object invoke(MethodInvocation invocation) throws Throwable
Description copied from interface:MethodInterceptor
Implement this method to perform extra treatments before and after the invocation. Polite implementations would certainly like to invokeJoinpoint.proceed()
.- Specified by:
invoke
in interfaceMethodInterceptor
- Parameters:
invocation
- the method invocation joinpoint- Returns:
- the result of the call to
Joinpoint.proceed()
; might be intercepted by the interceptor - Throws:
Throwable
- if the interceptors or the target object throws an exception