当前位置: 首页 > news >正文

无尺码精品产品深圳博惠seo

无尺码精品产品,深圳博惠seo,网站建设完提交百度,新万网站建设SpringBoot自带的RestTemplate是没有使用连接池的,只是SimpleClientHttpRequestFactory实现了ClientHttpRequestFactory、AsyncClientHttpRequestFactory 2个工厂接口,因此每次调用接口都会创建连接和销毁连接,如果是高并发场景下会大大降低性…

SpringBoot自带的RestTemplate是没有使用连接池的,只是SimpleClientHttpRequestFactory实现了ClientHttpRequestFactory、AsyncClientHttpRequestFactory 2个工厂接口,因此每次调用接口都会创建连接和销毁连接,如果是高并发场景下会大大降低性能。因此,我们可以使用Apache的HttpClient连接池。

pom.xml

		<!-- RestTemplate使用Apache的HttpComponentsClientHttpRequestFactory替换掉Spring SimpleClientHttpRequestFactory 以使用Apache HttpClient的连接池。 --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency>

RestTemplate配置类

import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
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;@Configuration
public class RestTemplateConfig {@Beanpublic RestTemplate restTemplate() {PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();connectionManager.setMaxTotal(50);connectionManager.setDefaultMaxPerRoute(20);RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(5000) // timeout to get connection from pool.setSocketTimeout(5000) // standard connection timeout.setConnectTimeout(5000) // standard connection timeout.build();HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connectionManager).setDefaultRequestConfig(requestConfig).build();ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);return new RestTemplate(requestFactory);}}

调用

	@Autowired  private RestTemplate restTemplate;  public Res getData(Dto dto) {String url = "https://xxx.com/api/xxx";//封装请求头参数.HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);headers.set("Content-Type", "application/json;charset=utf-8");headers.set("自定义请求头key","自定义请求头value");Res res = restTemplate.postForEntity(url, new HttpEntity<>(dto, headers), Res.class).getBody();return res;}

注意

在Spring Boot中,RestTemplate已经过时,建议使用更现代的RestTemplateBuilder和WebClient。

使用RestTemplateBuilder

import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.web.reactive.function.client.WebClient;  @Service  
public class HttpClientService {  private final RestTemplateBuilder restTemplateBuilder;  @Autowired  public HttpClientService(RestTemplateBuilder restTemplateBuilder) {  this.restTemplateBuilder = restTemplateBuilder;  }  public String getData(String url) {  return restTemplateBuilder.build().getForObject(url, String.class);  }
}

使用WebClient自定义连接池

import org.springframework.beans.factory.annotation.Value;  
import org.springframework.http.HttpMethod;  
import org.springframework.stereotype.Service;  
import org.springframework.web.reactive.function.client.WebClient;  @Service  
public class CustomHttpClientService {  private final WebClient webClient;  @Autowired  public CustomHttpClientService(@Value("${custom.pool.size:10}") int poolSize) {  this.webClient = WebClient.builder()  .poolSize(poolSize) // 设置连接池大小等其它参数,这里不在一一赘述。.build();  }  public String getData(String url) {  return webClient.method(HttpMethod.GET).uri(url).retrieve().bodyToMono(String.class).block();  }  
}
http://www.ds6.com.cn/news/103944.html

相关文章:

  • 国家森林公园网站建设网络营销推广的优势
  • 从江网站建设2023年第三波疫情9月
  • 微信公众号运营怎么做seo网络营销是什么意思
  • 足球网站开发全网网站快速排名推广软件
  • 做网站要提供营业执照吗百度关键词挖掘查询工具
  • 邢台市的做网站制作公司自媒体
  • 网站建设资金投入网上营销方法
  • ckplayer网站根目录全国31省市疫情最新消息今天
  • 在线购物网站怎么做在百度上怎么卖自己的产品
  • 广州设计网站公司中国软文网官网
  • 个人备案网站会影响吗搜索最多的关键词的排名
  • 石家庄网站优化招聘广告公司简介
  • 如何做招生网站创量广告投放平台
  • 常平网站公司推手平台哪个靠谱
  • 成都网站建设河马建站贵阳网站建设制作
  • 一套网站设计多少钱南宁seo优化
  • 如何让企业网站seo网络优化师招聘
  • 合肥科技网站建设北京营销网站制作
  • 北海做网站网站建设大数据营销策略有哪些
  • 网站升级改造建设方案seo程序专员
  • 网站上线做什么推广普通话的意义是什么
  • 宁波哪里可以做网站百度关键词搜索排名统计
  • 国家知识产权局官网入口宁波seo咨询
  • 网站自动下注程序应该怎么做seo教学视频教程
  • 网站平台建设费用优秀的营销策划案例
  • 政府机关网站模板嘉兴seo外包服务商
  • 合肥做网站cnfg2022最近的新闻大事10条
  • 网站降权是什么意思网站推广优化排名seo
  • 档案网站建设的意义做网络推广的公司
  • 郑州网站建设技术方案百度站长工具app