feign 整合sentinel_【笔记-错误】springboot-alibaba-feign集成sentinel的启动报错

背景

随着Spring Cloud Alibaba 2.2.0.RELEASE的发布,终于可以使用最新的Spring Boot和Spring Cloud。

现在的环境

依赖

版本

Spring Boot

2.2.5.RELEASE

Spring Cloud

Hoxton.SR7

Spring Cloud Alibaba

2.2.0.RELEASE

问题

已有工程升级了依赖版本之后,一启动就抛出以下错误:

原错误如下 启动时 创建reginClinet注入Bean失败

错误我剪切了 看到大致的错误即可:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'goodsFeignClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'top.yangbuyi.service.GoodsFeignClient': FactoryBean threw exception on object creation; nested exception is java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)Ljava/util/List;

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'top.yangbuyi.service.GoodsFeignClient': FactoryBean threw exception on object creation; nested exception is java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)Ljava/util/List;

Caused by: java.lang.AbstractMethodError: com.alibaba.cloud.sentinel.feign.SentinelContractHolder.parseAndValidateMetadata(Ljava/lang/Class;)Ljava/util/List;

解决

看了一下代码,问题的表现是从Sentinel抛出,本质是由于feign核心接口方法命名纠正拼写错误导致

Hoxton.SR7 中,fegin.context接口方法的定义为parseAndValidateMetadata

很明显是为了纠正拼写错误。

解决办法

把Hoxton.r7版本降低为 1

重新启动项目测试成功

其它问题

如果出现PathVariable 错误 请在reginClient当中的参数 写明为是哪个参数的注解形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值