Package org.apache.dubbo.rpc.filter
Class ExceptionFilter
java.lang.Object
org.apache.dubbo.rpc.filter.ExceptionFilter
- All Implemented Interfaces:
BaseFilter,BaseFilter.Listener,Filter
@Activate(group="provider")
public class ExceptionFilter
extends Object
implements Filter, BaseFilter.Listener
ExceptionInvokerFilter
Functions:
- unexpected exception will be logged in ERROR level on provider side. Unexpected exception are unchecked exception not declared on the interface
- Wrap the exception not introduced in API package into RuntimeException. Framework will serialize the outer exception but stringnize its cause in order to avoid of possible serialization problem on client side
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.dubbo.rpc.BaseFilter
BaseFilter.Listener -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioninvoke(Invoker<?> invoker, Invocation invocation) Always call invoker.invoke() in the implementation to hand over the request to the next filter node.voidmockLogger(ErrorTypeAwareLogger logger) voidonError(Throwable e, Invoker<?> invoker, Invocation invocation) This method will be called on detection of framework exceptions, for example, TimeoutException, NetworkException Exception raised in Filters, etc.voidonResponse(Result appResponse, Invoker<?> invoker, Invocation invocation) This method will only be called on successful remote rpc execution, that means, the service in on remote received the request and the result (normal or exceptional) returned successfully.
-
Constructor Details
-
ExceptionFilter
public ExceptionFilter()
-
-
Method Details
-
invoke
Description copied from interface:BaseFilterAlways call invoker.invoke() in the implementation to hand over the request to the next filter node.- Specified by:
invokein interfaceBaseFilter- Throws:
RpcException
-
onResponse
Description copied from interface:BaseFilter.ListenerThis method will only be called on successful remote rpc execution, that means, the service in on remote received the request and the result (normal or exceptional) returned successfully.- Specified by:
onResponsein interfaceBaseFilter.Listener- Parameters:
appResponse- , the rpc call result, it can represent both normal result and exceptional resultinvoker- , contextinvocation- , context
-
onError
Description copied from interface:BaseFilter.ListenerThis method will be called on detection of framework exceptions, for example, TimeoutException, NetworkException Exception raised in Filters, etc.- Specified by:
onErrorin interfaceBaseFilter.Listener- Parameters:
e- , framework exceptioninvoker- , contextinvocation- , context
-
mockLogger
-