SpringBoot配置dubbo过滤器Failed to bind properties under ‘dubbo.provider‘

本文主要介绍了在SpringBoot项目中配置Dubbo过滤器时遇到的'Failed to bind properties under 'dubbo.provider''错误。通过分析错误信息,发现是由于SPI配置文件路径错误,应当为'META-INF/dubbo'。此外,还提到了YML配置文件的细节问题,如空格、过滤器名称与配置一致性等,这些问题都可能导致过滤器无法正常工作。

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

使用dubbo过滤器实现值得传递

首先看一下报错的内容和项目结构
在这里插入图片描述
在这里插入图片描述

yml的配置文件为

yml dubbo: scan: base-packages: com.len.pdms.service.provider.Impl protocol: name: dubbo port: 20880 default: false registry: address: zookeeper://127.0.0.1:${embedded.zookeeper.port} application: logger: slf4j provider: filter: dubboProviderContextFilter
它说的是绑定失败,我点到了prviderConfig的类中取看看了一下,没有找到setFilter这个方法,所以我以为是这个问题,于是把这个filter给注释了,重新启动发现不报错了,但是服务端和消费端的RPC调用也失效了。
h2 因为使用的dubboSPi加载,使用的是扩展类加载器,颠倒扩展类加载器中看了一下,傻眼了
``java
public class ExtensionLoader {

private static final Logger logger = LoggerFactory.getLogger(ExtensionLoader.class);

private static final String SERVICES_DIRECTORY = "META-INF/services/";

private static final String DUBBO_DIRECTORY = "META-INF/dubbo/";

``
原来是我SPI文件的路径写错了,因该是META-INF/dubbo,于是改了一下路径,发现终于正常了
其实也有其他问题,例如yml文件中的空格没加,过滤器的名字和yml中的配置不一致,大小写不一致之类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值