当前位置:网站首页>【微服务|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

边栏推荐
- Hide the creation and use of users
- Daily question brushing record (10)
- MySQL -- index of MyISAM storage engine
- mysql ---- Oracle中的rownum转换成MySQL
- ECMAScript 2022 正式发布,有你了解过的吗?
- The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received
- [JUC learning road day 9] barrier derivatives
- Contents of other parts of the map
- Flynk SQL client uses comparison and is familiar with official documents
- flutter Unable to load asset: assets/images/888.png
猜你喜欢

Multi picture alert ~ comparison of Huawei ECs and Alibaba cloud ECS

【嵌入式系统课设】单个按键控制LED灯

Summary of "performance testing" of software testing, novice will know the knowledge points on the road

转--拿来即用:分享一个检查内存泄漏的小工具

思科--WAN 的概念考试外部工具

Turn -- go deep into Lua scripting language, so that you can thoroughly understand the debugging principle

win 10 mstsc连接 RemoteApp

测试人进阶技能:单元测试报告应用指南

数字峰会人气火爆,城链科技引发新一轮商业变革

数字化转型道阻且长,如何迈好关键的第一步
随机推荐
Stimulate new kinetic energy and promote digital economy in multiple places
Simple interactive operation of electron learning (III)
数字峰会人气火爆,城链科技引发新一轮商业变革
转--深入LUA脚本语言,让你彻底明白调试原理
Understanding threads
plain framework的实际应用和扩展
Appium automation test foundation - appium installation (I)
Convergence and disposal suggestions of some Internet exposure surfaces
vSphere+、vSAN+来了!VMware 混合云聚焦:原生、快速迁移、混合负载
实在RPA:银行数字化,业务流程自动化“一小步”,贷款审核效率“一大步”
Contents of other parts of the map
Cisco test -- the concept and configuration test of routing
微服务服务稳定性治理
“信任机器”为发展赋能
Cisco exam -- redundant network
Treatment of insufficient space in the root partition of armbain system
Congratulations on the release of friends' new book (send welfare)
微信个人小商店一键开通助手小程序开发
CKS CKA CKAD 将终端更改为远程桌面
The principle, testing and Countermeasures of malicious software reverse closing EDR