读取超时, 连接超时, 写这个代码的人走了
@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,而且它觉得调用服务两次是不对的。 是否有一种方法可以调用该服务一次,并在成功时将响应解析
写了一个简单的插入语句,但是一直报错: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the r
嗨,我听到一个错误的说法 组件根本不处理整数。 有时我也会得到作为警报。
有没有大佬来帮我看一看,是关于github actions的,我在实现一个推送代码到指定分支上时,会自动触发在远程目标服务器上面部署运行springboot项目,但是每一次运行到以下代码的时候: 它就会一直卡在这里。但是事实上,这一个项目是被正确运行了,监听端口也有信息,但是工作流中会报错: 我有一点不明白,部署成功之后,不就是应该断开ssh连接吗?有没有大佬解决一下? 因为这个地方报错,所以它工
我的问题:三个线程的ID分别是A,B,C;,每个线程将自己的ID值在屏幕上打印5遍,打印顺序是ABCABC。 我编写的代码: 但是出现了错误 哪个地方出现了问题呢?