Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
J
jiwei-api
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
马天浩
jiwei-api
Commits
936a33db
Commit
936a33db
authored
Aug 17, 2021
by
matianhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[配置] <fix> 使用httpclient连接池配置restTemplate,解决close wait问题
parent
1d487c79
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
7 deletions
+62
-7
RequestSecretApplication.java
.../java/com/mth/requestsecret/RequestSecretApplication.java
+0
-7
RestTemplateConfig.java
...java/com/mth/requestsecret/config/RestTemplateConfig.java
+62
-0
No files found.
src/main/java/com/mth/requestsecret/RequestSecretApplication.java
View file @
936a33db
...
...
@@ -2,9 +2,6 @@ package com.mth.requestsecret;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.web.client.RestTemplateBuilder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.web.client.RestTemplate
;
@SpringBootApplication
public
class
RequestSecretApplication
{
...
...
@@ -13,8 +10,4 @@ public class RequestSecretApplication {
SpringApplication
.
run
(
RequestSecretApplication
.
class
,
args
);
}
@Bean
public
RestTemplate
restTemplate
(
RestTemplateBuilder
builder
){
return
builder
.
build
();
}
}
src/main/java/com/mth/requestsecret/config/RestTemplateConfig.java
0 → 100644
View file @
936a33db
package
com
.
mth
.
requestsecret
.
config
;
import
org.apache.http.client.HttpClient
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.config.Registry
;
import
org.apache.http.config.RegistryBuilder
;
import
org.apache.http.conn.socket.ConnectionSocketFactory
;
import
org.apache.http.conn.socket.PlainConnectionSocketFactory
;
import
org.apache.http.conn.ssl.SSLConnectionSocketFactory
;
import
org.apache.http.impl.client.HttpClientBuilder
;
import
org.apache.http.impl.conn.PoolingHttpClientConnectionManager
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.client.ClientHttpRequestFactory
;
import
org.springframework.http.client.HttpComponentsClientHttpRequestFactory
;
import
org.springframework.web.client.RestTemplate
;
/**
* @author MaTianHao
* @date 2021/8/11
*/
@Configuration
public
class
RestTemplateConfig
{
@Bean
public
RestTemplate
restTemplate
()
{
return
new
RestTemplate
(
httpRequestFactory
());
}
@Bean
public
ClientHttpRequestFactory
httpRequestFactory
()
{
return
new
HttpComponentsClientHttpRequestFactory
(
httpClient
());
}
@Bean
public
HttpClient
httpClient
()
{
Registry
<
ConnectionSocketFactory
>
registry
=
RegistryBuilder
.<
ConnectionSocketFactory
>
create
()
.
register
(
"http"
,
PlainConnectionSocketFactory
.
getSocketFactory
())
.
register
(
"https"
,
SSLConnectionSocketFactory
.
getSocketFactory
())
.
build
();
PoolingHttpClientConnectionManager
connectionManager
=
new
PoolingHttpClientConnectionManager
(
registry
);
//设置整个连接池最大连接数
connectionManager
.
setMaxTotal
(
400
);
//路由是对maxTotal的细分
connectionManager
.
setDefaultMaxPerRoute
(
100
);
RequestConfig
requestConfig
=
RequestConfig
.
custom
()
//返回数据的超时时间
.
setSocketTimeout
(
30000
)
//连接上服务器的超时时间
.
setConnectTimeout
(
10000
)
//从连接池中获取连接的超时时间
.
setConnectionRequestTimeout
(
1000
)
.
build
();
return
HttpClientBuilder
.
create
()
.
setDefaultRequestConfig
(
requestConfig
)
.
setConnectionManager
(
connectionManager
)
.
build
();
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment