Class AdaptiveLoadBalanceFilter

java.lang.Object
org.apache.dubbo.rpc.filter.AdaptiveLoadBalanceFilter
All Implemented Interfaces:
BaseFilter, BaseFilter.Listener, Filter

@Activate(group="consumer", order=-200000, value="loadbalance:adaptive") public class AdaptiveLoadBalanceFilter extends Object implements Filter, BaseFilter.Listener
if the load balance is adaptive ,set attachment to get the metrics of the server
See Also:
  • Constructor Details

    • AdaptiveLoadBalanceFilter

      public AdaptiveLoadBalanceFilter(ApplicationModel scopeModel)
  • Method Details

    • invoke

      public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException
      Description copied from interface: BaseFilter
      Always call invoker.invoke() in the implementation to hand over the request to the next filter node.
      Specified by:
      invoke in interface BaseFilter
      Throws:
      RpcException
    • onResponse

      public void onResponse(Result appResponse, Invoker<?> invoker, Invocation invocation)
      Description copied from interface: BaseFilter.Listener
      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.
      Specified by:
      onResponse in interface BaseFilter.Listener
      Parameters:
      appResponse - , the rpc call result, it can represent both normal result and exceptional result
      invoker - , context
      invocation - , context
    • onError

      public void onError(Throwable t, Invoker<?> invoker, Invocation invocation)
      Description copied from interface: BaseFilter.Listener
      This method will be called on detection of framework exceptions, for example, TimeoutException, NetworkException Exception raised in Filters, etc.
      Specified by:
      onError in interface BaseFilter.Listener
      Parameters:
      t - , framework exception
      invoker - , context
      invocation - , context