如何解决HystrixCommand的不可恢复错误,因此将引发HystrixRuntimeException且不应用回退
我正在使用Spring Cloud网关并尝试使用断路器。在网关中,我为网关(cricketer-gateway)中的服务(cricketer-service)添加了一个fallback(failover-service)方法。 故障转移服务可以单独正常运行。故障切换服务在application.properties中名为 cricketer-failover-service 。
网关配置
@Configuration
public class RoutesConfig {
@Bean
public RouteLocator routes(RouteLocatorBuilder builder) {
return builder.routes()
.route(r -> r.path("/cricketers*")
.filters(f -> f.circuitBreaker(c -> c.setName("cricketerFb")
.setFallbackUri("forward:/cricketer-failover")
.setRouteId("cricketer-failover")
))
.uri("lb://cricketer-service")
.id("cricketer-service"))
.route(r -> r.path("/cricketer-failover*")
.uri("lb://cricketer-failover-service")
.id("cricketer-failover-service"))
.build();
}
当我关闭服务然后点击端点时,我会收到一个异常
2020-08-30 14:17:28.670错误14766 --- [或-http-epoll-3] com.netflix.hystrix.AbstractCommand:HystrixCommand的不可恢复错误,因此将引发HystrixRuntimeException而不会应用回退。 >
java.lang.Exception: Throwable caught while executing.
at com.netflix.hystrix.AbstractCommand.getExceptionFromThrowable(AbstractCommand.java:1976) ~[hystrix-core-1.5.18.jar:1.5.18]
Stacktrace-https://gist.github.com/nirmalks/4adb8b64955625df6b5a22469f106bfe 代码-https://github.com/nirmalks/cricketer-microservice/tree/hystrix-fallback-err
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。