栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud Feign整合Sentinel

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud Feign整合Sentinel

目录

一.引入依赖二.在配置文件中开启Feign对Sentinel的支持三.创建容错类四.为被容器的接口指定容错类五.修改controller六.获取具体错误信息

一.引入依赖
	
	
		com.alibaba.cloud
		spring-cloud-starter-alibaba-sentinel
	
二.在配置文件中开启Feign对Sentinel的支持
feign:
	sentinel:
		enabled: true
三.创建容错类
//容错类要求必须实现被容错的接口,并为每个方法实现容错方案
@Component
@Slf4j
public class ProductServiceFallBack implements ProductService {
	@Override
	public Product findByPid(Integer pid) {
		Product product = new Product();
		product.setPid(-1);
		return product;
	}
}
四.为被容器的接口指定容错类
//value用于指定调用nacos下哪个微服务
//fallback用于指定容错类
@FeignClient(value = "service-product", fallback = ProductServiceFallBack.class)
public interface ProductService {
	@RequestMapping("/product/{pid}")//指定请求的URI部分
	Product findByPid(@PathVariable Integer pid);
}

五.修改controller

·····························
@Autowired
private ProductService productService;


//调用商品微服务,查询商品信息
Product product = productService.findByPid(pid);


····························
六.获取具体错误信息
@FeignClient(
value = "service-product",
//fallback = ProductServiceFallBack.class,
fallbackFactory = ProductServiceFallBackFactory.class)
public interface ProductService {
	//@FeignClient的value + @RequestMapping的value值 其实就是完成的请求地址
	//"http://service-product/product/" + pid
	@RequestMapping("/product/{pid}")//指定请求的URI部分
	Product findByPid(@PathVariable Integer pid);
}


@Component
public class ProductServiceFallBackFactory implements FallbackFactory {
	@Override
	public ProductService create(Throwable throwable) {
		return new ProductService() {
			@Override
			public Product findByPid(Integer pid) {
				throwable.printStackTrace();
				Product product = new Product();
				product.setPid(-1);
				return product;
			}
		};
	}
}


fallback和fallbackFactory只能使用其中一种方式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号