读取超时, 连接超时, 写这个代码的人走了
@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,服务器先要接收完请求,再去写响应。上传文件超出大小,服务器直接说我就不接收了拜拜
这个问题可能是由于多种原因引起的,包括网络问题、服务器问题、客户端配置问题等。以下是一些可能的解决方案:
HttpComponentsClientHttpRequestFactory
的 readTimeout
和 connectionTimeout
属性值。这可以在创建 HttpComponentsClientHttpRequestFactory
的时候设置,像这样:HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();requestFactory.setReadTimeout(10000); // 10 secondsrequestFactory.setConnectionTimeout(10000); // 10 secondsoAuth2RestTemplate.setRequestFactory(requestFactory);
注意:这会增加客户端等待服务器响应的时间,可能会影响到你的应用的性能。
希望这些建议能帮助你解决问题。如果你还有其他问题或需要更多的帮助,请随时向我询问。
给Rest服务打电话 http://acme.com/app/widget/123 返回: 此客户端代码的工作原理是: 但是,http://acme.com/app/widget/456返回: 但此客户端代码引发了一个异常: 我试过: 第二次调用只是抛出了另一个HttpClientErrorException,而且它觉得调用服务两次是不对的。 是否有一种方法可以调用该服务一次,并在成功时将响应解析
嗨,我听到一个错误的说法 组件根本不处理整数。 有时我也会得到作为警报。
我的问题:三个线程的ID分别是A,B,C;,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC。 我编写的代码: 但是出现了错误 哪个地方出现了问题呢?
问题内容: 我在Windows7上使用maven2.1并得到上述错误。可以提供有关如何解决此问题的建议吗?我使用的是jdk1.6。我收到小程序警报。如何自动允许所有 问题答案: 检查Maven存储库中的.jar文件,使用WinRAR或其他方法打开它们。需要一些时间。您无需检查所有内容,只需检查您最近下载的内容即可。该存储库通常称为“ m2”或“ .m2”,并且通常位于用户配置文件或主目录中,具体取
前端请求文件模板,代码生成excel模板。其中有一列数据要做成下拉的模式。 功能也实现了。 但是如果下拉列表的下拉项过多。下载出的文件模板,下拉项点击无法展示出来。20多个下拉选项是可以正确下拉的,40多个就不行了。这个如果解决??