Spring Cloud Hystrix异常处理方法详解
作者:盲目的拾荒者 时间:2022-05-29 06:20:12
这篇文章主要介绍了Spring Cloud Hystrix异常处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
在调用服务执行HsytrixCommand实现的run()方法抛出异常时,除HystrixBadRequestException之外,其他异常都会认为是Hystrix命令执行失败并触发服务降级处理逻辑.
异常处理
当Hystrix命令因为异常(除了HystrixBadRequestException异常)进入服务降级逻辑之后,往往需要对不同的异常做针对处理,那么就要捕获异常。对于使用@HystrixCommand注解只需要在降级函数中增加Throwable e对象的定义
/**
* HystrixBadRequestException:
* 与由HystrixCommand抛出的所有其他异常不同,这不会触发回退,也不会对失败度量进行计数,因此不会触发断路器。
* @return
*/
@HystrixCommand(fallbackMethod="helloBackMethodFirst",ignoreExceptions=HystrixBadRequestException.class)
public String helloService() {
logger.info("start invoke service");
//URI需要使用虚拟主机名(即服务名称,而不是主机名)
//return restTemplate.getForEntity("http://service-provide/hello", String.class).getBody();
throw new RuntimeException("consumer exception");
}
/**
* 通用降级函数
* @return
*/
@HystrixCommand(fallbackMethod="helloBackMethodSecond")
public String helloBackMethodFirst(Throwable e){
/*
* 一些异常判断
* if(e instanceof CheckEception){
* }
* if(e instanceof IllegalStateException){
* }
*/
//此处可能是另外一个网络请求,所以也可能出现错误
return "error1:"+e.getMessage();
}
来源:https://www.cnblogs.com/niugang0920/p/12194890.html
标签:Spring,Cloud,Hystrix,异常
0
投稿
猜你喜欢
java之assert关键字用法案例详解
2022-07-10 23:01:32
Android应用中Back键的监听及处理实例
2022-09-26 02:00:47
c#简单读取文本的实例方法
2022-02-16 14:51:52
浅谈springioc实例化bean的三个方法
2022-05-18 08:37:56
java多线程之线程同步七种方式代码示例
2022-04-29 17:55:46
C#发送数据到剪贴板及从剪贴板中取数据的方法
2021-06-06 15:28:38
java使用dom4j生成与解析xml文档的方法示例
2022-06-18 23:41:56
SpringSecurity认证流程详解
2022-06-25 21:44:49
查找算法之二分查找的C++实现
2022-05-27 07:24:17
Android中的webview支持页面中的文件上传实例代码
2023-12-27 06:44:17
Spring源码解析之Configuration
2021-11-01 06:05:04
SpringBoot使用GraphQL开发Web API实现方案示例讲解
2023-05-17 16:50:22
java中如何获取时间戳的方法实例
2021-06-14 15:29:16
解决Swagger2返回map复杂结构不能解析的问题
2022-07-15 09:17:04
Spring和SpringBoot之间的区别
2022-09-28 11:47:38
Maven依赖作用域和依赖传递的使用
2022-07-24 19:08:33
Android事件冲突解决悬浮窗拖拽处理方案
2023-12-17 01:51:17
Spring Boot 集成Redisson实现分布式锁详细案例
2023-06-10 05:09:17
浅谈对Java双冒号::的理解
2023-09-20 02:19:21
Java 如何优雅的抛出业务异常
2023-11-24 04:04:34