就是如果项目1启动了feign-hystrix,yml配置了
feign: hystrix: enabled: true #启动feign-hystrix
我在项目2去调用项目1的feign方法,我项目2什么都没配置
然后在项目1的feign方法的restController方法体内,我去Thread.sleep(3000)
项目二去调用这个方法的时候会报错
2019-07-06 23:30:30.391 ERROR 42750 --- [nio-8767-exec-9] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is com.netflix.hystrix.exception.HystrixRuntimeException: sayHello timed-out and fallback failed.] with root cause
是timeout错误,且没有触发降级。
通过报错信息可以看到,是报错HystrixRuntimeException,于是我添加了
hystrix:
command:
default:
execution:
timeout:
enabled: true
isolation:
thread:
timeoutInMilliseconds: 5000
ribbon:
ReadTimeout: 30000
ConnectTimeout: 30000
然后报错Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is feign.RetryableException: Read timed out executing GET http://USER-SERVER1/hello] with root caus
且在写博客的时间内,无法复现HystrixRuntimeException这个错误了。