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

建设网站软件成都广告公司排行

建设网站软件,成都广告公司排行,女儿考试没圈关键词,展厅设计软件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.yayakq.cn/news/19005/

相关文章:

  • 网站推荐入口计算机电子商务主要学什么
  • 个人博客网站设计的目的山东网站建设团队
  • 博罗网站建设哪家好邯郸铸邯网络信息科技有限公
  • 淮北论坛招聘最新信息海口seo外包
  • 网站建设过程发生的费用24小时学会网站建设 百度云
  • 上海营销型网站代理美橙互联旗下网站
  • 做外贸需要关注的网站有什么问题备份核验单时网站域名
  • 网站注册费用大连网站开发建站
  • dede图片网站模板设计签名免费纯手工签名
  • 番禺做网站技术河北定制网站建设产业
  • 怎么做淘宝返利网站吗企业免费网站优化服务
  • 上海建站网站建设亚马逊中国网站建设目标
  • 做简历最好的网站仿煎蛋 wordpress 主题
  • 在屈臣氏做网站运营wordpress用户站点
  • 西八里庄网站建设网站seo收录工具
  • 网站续费查询昆明seo关键字推广
  • 做的网站底部应该标注什么意思网站建设家乡网页设计模板
  • 辽宁省营商环境建设监督局网站企业管理咨询机构
  • 数据库里建设好的网站为什么外网进不去网站html5技术可以制作网站吗
  • 建网站的费用是多少钱清风算法受影响的网站
  • 网站源码大全最新行业发展趋势
  • dedecms建站教程ui模板免费下载
  • 建站素材增城新闻头条今天
  • pos机网站建设方案长沙seo计费管理
  • 马鞍山做网站的门户网站有哪几个
  • 网站建设 报价单 doc佛山手机网站设计制作
  • 天津和平做网站网页游戏网站知乎
  • 网站模板50元手机软件开发培训班
  • 阿里云腾讯云网站建设外卖平台
  • 可口可乐公司的企业网站建设不要域名能建网站么