我有一个springboot rest服务a使用RESTTemplate调用rest服务B。Rest服务A的restTemplate bean是按照下面的代码片段所示的超时设置创建的。
@Bean
RestTemplate getRestTemplate()
{
CloseableHttpClient closeableHttpClient = HttpClientBuilder.create().build();
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(closeableHttpClient);
RestTemplate restTemplate = new RestTemplate(requestFactory);
requestFactory.setConnectTimeout( 2000 );
requestFactory.setReadTimeout( 2000 );
return restTemplate;
}
try{
restTemplate.postForEntity(urlSvcB, httpEntity, myObject.class);
}
catch (Exception ex){
.....some code here.....
}
如果您正在使用spring boot,那么您可以尝试:
@Bean
public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder)
{
return restTemplateBuilder
.setConnectTimeout(...)
.setReadTimeout(...)
.build();
}
如果这还不行,那么在当前代码中,尝试在创建restTemplate或test之前设置requestFactory上的所有道具,方法是去掉CloseableHTTPClient,如下所示:
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
httpRequestFactory.setConnectionRequestTimeout(...);
httpRequestFactory.setConnectTimeout(...);
httpRequestFactory.setReadTimeout(...);
return new RestTemplate(httpRequestFactory);
我有一个API返回一个json,它是GET方法类型的。因为它是GET,所以当我在浏览器中打开URL时,它可以正常工作并呈现json,但是,当使用RestTemplate检索json时,它失败了。 能否请您提供一种阅读以下API的方法。 API URL:https://www.nseindia.com/API/option-chain-indexs?symbol=nifty Spring BootR
问题内容: 我在使用npm时遇到问题,无法安装任何程序。这是错误消息: 知道为什么吗?这是我的网络设置,似乎我没有配置任何代理。我还禁用了所有防火墙。 问题答案: 用 因此npm要求url而不是。 然后尝试相同的命令
问题内容: 我想为我的Web应用程序使用的rest服务设置连接超时。我正在使用Spring的RestTemplate与我的服务交谈。我进行了一些研究,发现并使用了下面的xml(在我的应用程序xml中),我认为这是为了设置超时。我正在使用Spring 3.0。 我在这里也看到了同样的问题,使用RestTemplate为Spring Web服务设置超时,但是解决方案似乎不太干净,我更愿意通过Sprin
我的要求需要更短的超时,所以我需要能够更改这些。你知道我做错了什么吗? 多谢。
我正在开发一个vaadin web应用程序,我在web.xml中添加了以下代码片段。 现在我注意到,也在30分钟后,我的用户能够使用应用程序,我不想这样。我在vaadin的书上读到了一些关于这个问题的东西,但我并不了解一些东西。 在web.xml中: 会话超时应长于心跳间隔,否则会话在心跳保持活动之前就已关闭。由于会话过期使UI处于假定会话仍然存在的状态,这将在浏览器中导致不同步错误通知。 但是,
我需要知道如何读取(同步或异步不重要)与超时。我想检查一个设备是否与串行端口连接。 为此,我使用,然后等待设备的响应。 如果连接了设备工作正常,但如果没有设备,程序就会停止,这就是我需要超时的原因