feign和ribbon的重试及异常捕捉

在selectServer的时候,如果没有对应的server,那么会抛出一个ClientException,然后被捕获,进入RxJava的next链,最后再抛出
如果有server,但是最大重试次数之后还是超时(ribbon的connectTimeout是1秒),会抛出IOException,被feign的RetryableException捕捉,但是默认的是不重试,结果再抛出
如果http请求成功,4**和5**的响应码会在executeAndDecode方法中被处理,抛出异常,默认不是RetryableException,直接抛出。如果自己重写的retryAfterDecoder一系列处理成功之后,返回正确的日期,抛出的将会是RetryableException。

上一篇:spring cloud之ribbon


下一篇:Spring Cloud核心组件:Ribbon,Feign