当前位置:网站首页>【微服务|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
边栏推荐
- 测试人进阶技能:单元测试报告应用指南
- Reprint CSDN article operation
- Map container
- 微服务服务稳定性治理
- OpenVINO 模型性能评估工具—DL Workbench
- Demo program implementation of QT version Huarui camera
- Explain the volatile keyword
- Deadlock handling strategies - prevent deadlock, avoid deadlock, detect and remove deadlock
- Kubernetes create service access pod
- What class loading mechanisms does the JVM have?
猜你喜欢
rviz打开后如何显示实时2D地图
使用3DMax制作一个象棋棋子
有些能力,是工作中学不来的,看看这篇超过90%同行
“信任机器”为发展赋能
Jielizhi Bluetooth headset quality control and production skills [chapter]
Compare the version number [double pointer to intercept the string you want]
Unable to climb hill sort, directly insert sort
Digital currency: far-reaching innovation
玻璃马赛克
数字峰会人气火爆,城链科技引发新一轮商业变革
随机推荐
Data enhancement of semi supervised learning
AirServer最新Win64位个人版投屏软件
Advanced skills of testers: a guide to the application of unit test reports
Cut noodles C language
MySQL -- index of InnoDB storage engine
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received
Jerry's records are powered by Vbat with a power supply voltage of 4.2V [chapter]
轉載csdn文章操作
转--拿来即用:分享一个检查内存泄漏的小工具
“信任机器”为发展赋能
Understanding threads
下班前几分钟,我弄清了v-model与.sync的区别
【微服务|Sentinel】SentinelResourceAspect详解
毕业季,既是告别,也是新的开始
Some abilities can't be learned from work. Look at this article, more than 90% of peers
[MySQL] index classification
MySQL -- index of MyISAM storage engine
Explain JMM in detail
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
CKS CKA CKAD 将终端更改为远程桌面