【发布时间】:2022-10-13 20:41:47
【问题描述】:
我的重试处理程序不适用于 ResourceAccessException。这仅适用于 IOException 及其子类型。我什至尝试添加拦截器但没有运气。知道如何为 ResourceAccessException 添加重试吗???
@Bean
public ClientHttpRequestFactory clientFactory() {
HttpClient httpClient = HttpClients.custom()
.setRetryHandler((exception, executionCount, context) -> {
if (executionCount > 3) {
log.warn("Maximum retries {} reached", 3);
return false;
}
if (<some condition for retry>) {
log.warn("Retry {}", executionCount);
return true;
}
return false;
})
.build();
return new HttpComponentsClientHttpRequestFactory(httpClient);
}
@Bean
public RestTemplate customRestTemplate(@Qualifier("clientFactory") ClientHttpRequestFactory clientFactory){
return new RestTemplate(clientFactory);
}
【问题讨论】:
标签: java spring spring-boot httpclient resttemplate