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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...