读取超时, 连接超时, 写这个代码的人走了
@Bean
public OAuth2RestTemplate baseRestTemplate() {
// jwt
AuthTokenResourceDetails resource = new AuthTokenResourceDetails();
resource.setAccessTokenUri("token_url");
// token context
AuthTokenClientContext context = new AuthTokenClientContext();
context.setTokenKey("token_key");
OAuth2RestTemplate oAuth2RestTemplate = new OAuth2RestTemplate(resource, context);
// auth token refresh
AuthTokenAccessTokenProvider tokenAccessTokenProvider = new AuthTokenAccessTokenProvider();
tokenAccessTokenProvider.setInterceptors(Collections.singletonList(new CommonHeadersInterceptor("1.0")));
tokenAccessTokenProvider.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
oAuth2RestTemplate.setAccessTokenProvider(tokenAccessTokenProvider);
// token attach
OAuth2RequestAuthenticator authenticator = new AuthTokenOAuth2RequestAuthenticator();
oAuth2RestTemplate.setAuthenticator(authenticator);
// Interceptors
oAuth2RestTemplate.setInterceptors(Collections.singletonList(new CommonHeadersInterceptor("1.0")));
oAuth2RestTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
return oAuth2RestTemplate;
}
这是专门用来调某个三方的, 现在的问题是会有报错, 超时,连接断开, 之前很多, 升级之后就少了, 但还是有这种情况
目前我的解决方案是调用失败之后重试三次, 基本重试之后都会成功
但想解决这种报错应该怎么解决呢
看网上说的设置readTimeOut和connectionTimeout都没用
就想问问各位大佬这个问题的原因和解决方式有哪些呢?
readTimeOut:那就增加读取超时时间,这一般是服务器处理比较久导致的
Connection reset:一般是服务器没有给你写响应直接断开了连接,我在上传文件时,文件超出配置的大小,http协议就会出现Connection reset,服务器先要接收完请求,再去写响应。上传文件超出大小,服务器直接说我就不接收了拜拜