当前位置: 首页 > 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/481946/

相关文章:

  • 兼容手机的网站免费推广企业网站
  • 常州专业网站建设推广wordpress 送钱啦
  • 营销型网站建设要求seo网络优化是做什么的
  • 有了源代码如何做网站新手学做网站下载
  • php网站的后台地址提高网站响应速度
  • 涂鸦app定制开发seo的范畴是什么
  • 石景山网站建设服务谷歌网站管理员账号
  • 家居装修企业网站源码比较好的网站建设技术开发
  • 江西省城乡建设陪训网官方网站鞍山 网站建设
  • 淘宝客网站推广怎么做局域网网站建设
  • 工信部网站备案流程h5自适应网站建设
  • 网站优化无限关键词设置建设投资平台网站
  • 不属于网站建设方式的是唐河企业网站制作怎么样
  • 网站建设主要做什么济宁做网站哪家比较好
  • 泰安网站建设收益公司做网站推广
  • 飞猪旅游的网站建设翻译wordpress
  • 制作属于自己的网站网站注销主体填写原因
  • 珠宝行网站建设方案石家庄的建筑公司
  • 西宁哪家公司做网站thinkphp 显示第三方网站图片
  • 正规的网站制作电话太原市建设北路小学网站
  • 网站建设需要多长时间管理咨询公司主要做什么
  • 营销型网站建设公司价格网站需求分析有哪些内容
  • 做外贸网站需要注意些什么问题wordpress轮播图
  • 做收费课程网站佛山网站建设thual
  • 工业和信息部网站备案中文域名交易网站
  • 自建网站 微信网页版销售管理系统包括哪几大模块
  • 沈阳男科医院有哪些医院浑江区关键词seo排名优化
  • 简述电子商务网站开发的研究意义可视化信息 网站
  • 建筑给排水代做网站注册安全工程师考试
  • 备案网站打不开wordpress茶叶模板