Dubbo使用Filter

本文介绍了Dubbo的Filter接口和ListenableFilter抽象类,详细解析了如何实现自定义Dubbo过滤器。通过实现Filter接口并使用@Active注解进行配置,可以将过滤器应用于服务提供者或消费者。此外,还提到了需要在指定目录下创建配置文件来注册自定义Filter。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Filter接口

ListenableFilter

自定义实现Dubbo Filter

实现Filter接口自定义Dubbo过滤器


Filter接口

Filter接口提供了一个invoke方法和一个是Listener接口。

其中invoke方法用于定义Filter中请求相关的处理逻辑。Listener接口有onResponse,onError两个方法,这两个方法用于定义Filter中响应相关的处理逻辑。

public interface Filter {
    /**
     * Make sure call invoker.invoke() in your implementation.
     */
    Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException;

    interface Listener {

        void onResponse(Result appResponse, Invoker<?> invoker, Invocation invocation);

        void onError(Throwable t, Invoker<?> invoker, Invocation invocation);
    }

}

ListenableFilter

ListenableFilter是Dubbo中实现的一个Filter接口的抽象类。抽象类的存在一般就是为了对接口进行增强,ListenableFilter内置了一个Invocation为key,Listener接口实例为value的Map。

public abstract class ListenableFilter implements Filter {

    protected Listener listener = null;
    protected final ConcurrentMap<Inv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WannaRunning

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值