当前位置:网站首页>【微服务|Sentinel】sentinel整合openfeign
【微服务|Sentinel】sentinel整合openfeign
2022-07-01 22:29:00 【步尔斯特】
步骤
上文我们谈到sentinel的注解@SentinelResource以及其对异常兜底方案的处理。
如果对每一个接口都做各自的处理,会有诸多不便,所以我们可以整合openfeign对限流降级策略统一处理。
第一步:打开feign对sentinel的支持
feign:
sentinel:
enabled: true
第二步:编写兜底方案
import com.ossa.feign.api.producer.ProducerFeign;
import org.springframework.stereotype.Service;
/** * @author issavior */
@Service
public class ProducerFeignFallback implements ProducerFeign {
@Override
public String producerById(String id) {
String msg = "fallback限流方法";
return id + msg;
}
}
第三步:修改@FeignClient注解
import com.ossa.feign.config.FeignClientConfig;
import com.ossa.feign.fallback.ProducerFeignFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/** * @author issavior */
@FeignClient(value = "ossa-service-producer", configuration = FeignClientConfig.class,fallback = ProducerFeignFallback.class)
public interface ProducerFeign {
/** * 根据ID查询商品 * * @param id 商品的主键ID * @return 相关商品的信息 */
@GetMapping(value = "/producer/{id}")
String producerById(@PathVariable("id") String id);
}
问题
问题描述:
Caused by: java.lang.IllegalStateException: Ambiguous mapping
分析:
在feign的接口上使用@RequestMapping注解,就会导致这个问题。
Controller这一个控制层请求映射了两个方法,且在Controller中重复了,所以报错。 或者说,如果一个项目中有两个@RequestMapping(“/xxx”)完全相同就会报 java.lang.IllegalStateException,controller所在的模块依赖了client所在的模块才导致冲突的。
解决方案:
去掉@RequestMapping
边栏推荐
- Explain ThreadLocal in detail
- plain framework的实际应用和扩展
- 数字峰会人气火爆,城链科技引发新一轮商业变革
- 思科--高可用和高可靠网络考试
- I graduated from college in 14 years and changed to software testing in 3 months. My monthly salary was 13.5k. At the age of 32, I finally found the right direction
- Redis~02 cache: how to ensure data consistency in MySQL and redis when updating data?
- Jielizhi Bluetooth headset quality control and production skills [chapter]
- openresty 负载均衡
- [JUC learning road day 9] barrier derivatives
- Congratulations on the release of friends' new book (send welfare)
猜你喜欢
Reprint CSDN article operation
Programming English vocabulary notebook
转--原来gdb的底层调试原理这么简单
shell 流程控制
测试人进阶技能:单元测试报告应用指南
Cisco exam -- redundant network
Cisco -- highly available and reliable network examination
"35 years old, the boss of the company, with a monthly salary of 20000, give away takeout": the times abandoned you, not even saying goodbye
Daily question brushing record (10)
rviz打开后如何显示实时2D地图
随机推荐
常见的二十种软件测试方法详解(史上最全)
转--深入LUA脚本语言,让你彻底明白调试原理
AirServer最新Win64位个人版投屏软件
建模和影视后期有什么关联?
CKS CKA CKAD 将终端更改为远程桌面
测试人进阶技能:单元测试报告应用指南
用JpaTransactionManager操作数据库事务
Use 3DMAX to make a chess piece
Explain the volatile keyword
Treatment of insufficient space in the root partition of armbain system
实在RPA:银行数字化,业务流程自动化“一小步”,贷款审核效率“一大步”
【微服务|Sentinel】@SentinelResource详解
Congratulations on the release of friends' new book (send welfare)
URL 介绍
[MySQL] index creation, viewing and deletion
“35岁,公司老总,月薪2万送外卖“:时代抛弃你,连声再见都没有
Detailed explanation of twenty common software testing methods (the most complete in History)
el-input文本域字数限制,超过显示变红并禁止输入
Jielizhi Bluetooth headset quality control and production skills [chapter]
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received