Atitit httpclient feign使用总结RestTemplate
Httpclient重要的功能
重试与超时
- RedirectExec执行器的默认策略是,在接收到重定向错误码301与307时会继续访问重定向的地址
所以,HttpClient有默认的执行器RetryExec,其默认的重试策略是DefaultHttpRequestRetryHandler。
目录
1.1. HttpClient有默认的执行器RetryExec 1
3.2. RestTemplate exchange 而不是getfor postforxxx的优点 5
关于RetryExec执行器的执行过程,做一个阶段小结:
- RetryExec在执行http请求的时候使用的是底层的基础代码MainClientExec,并记录了发送次数
- 当发生IOException的时候,判断是否要重试
- 首先是根据重试策略DefaultHttpRequestRetryHandler判断,如果可以重试就继续
- 判断当前request是否还可以再次发起
- 如果重试策略判断不可以重试了,就抛相应异常并退出
- 首先是根据重试策略DefaultHttpRequestRetryHandler判断,如果可以重试就继续
通过构造器可以看到,默认的重试策略是:
- 重试3次
- 如果请求被成功发送过,就不再重试了