我正在通过一个代码,该代码为rest操作配置专用的restTemplate。我看到以下属性
httpProperties.connection-request-timeout=6100
httpProperties.connect-timeout=6100
httpProperties.read-timeout=6100
我的Config类如下所示
@Bean
@ConfigurationProperties(prefix = "httpProperties")
public HttpComponentsClientHttprequestfactory webSystemHttprequestfactory() {
SSLContext sslContext;
try {
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext);
HttpClient httpClient = HttpClients.custom().setMaxConnTotal(maxTotalConnection)
.setMaxConnPerRoute(maxConnectionPerRoute).setSSLSocketFactory(socketFactory).build();
return new HttpComponentsClientHttprequestfactory(httpClient);
}
catch(Exception e) {
}
return new HttpComponentsClientHttprequestfactory();
}
@Bean(name = "webSystemRestTemplate")
public RestTemplate webSystemRestTemplate() {
RestTemplate restTemplate = new RestTemplate(webSystemHttprequestfactory());
return restTemplate;
}
我可以看到日志
o.a.h.i.c.DefaultManagedHttpClientConnection.setsocketTimeout - http-outgoing-1: set socket timeout to 6100
这是我想了解的内容:
-
如何通过@CnfigurationProperties批注将此值设置为哪个属性?
-
它是否适用于Spring Boot应用程序级别或每个请求级别?
请帮助我理解基本概念。
注意:使用的Apache http客户端版本为4.5.2