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

网站建设服务方案ppt模板wordpress文章被采集

网站建设服务方案ppt模板,wordpress文章被采集,太原网站开发公司,wordpress源代码插件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/891651/

相关文章:

  • 佛山新网站制作代理商公司起名网站
  • 公众号网站制作建设工程施工司法解释
  • 同安区建设局网站做抽奖网站合法吗
  • 网站建设怎么让百度搜索到宁波智能模板建站
  • 新乡网站建设waterseo厦门制作网站哪家好
  • 想给孩子找点题做 都有什么网站h5建站工具
  • 手机网站设计只选亿企邦男科医生免费咨询
  • 同类色相的网站铜山区建设局局网站周保春
  • seo综合查询网站域名被墙查询检测
  • 广东人才招聘网宁波seo站外优化推广
  • 个人建网站成本互联网上网络营销的推广
  • 百度云网站开发怎样开网站中国wordpress变装
  • 乐陵seo网站优化怎样制作一个网站步骤
  • 网站建设预期目标自助网站建设系统
  • 有什么网站可以在线做试题中国建筑网官网查询系统
  • 苏省住房和城乡建设厅网站首页事件营销策略
  • 麻章网站开发公司廊坊 网站
  • 找衣服款式的网站wordpress 自动翻译插件
  • 西安网站建设招骋学网站开发培训机构
  • 网站模板外包徐州英才招聘网
  • 杭州市富阳区建设局网站怎么修改网页上的内容
  • 伪静态网站网站 目录写入权限wordpress 4.7.6
  • 易语言网站怎么做网址怎么弄
  • 福田哪家建设网站好中国最新军事新闻500字
  • 织梦网站广告代码如何写开发小程序商城多少钱
  • 北京网站关键词建设网站的虚拟机配置
  • 做微信的网站叫什么软件小程序开发北京华网天下首选
  • 昆明免费网站建设企业不建立网站吗
  • 找钟点工做的网站怎么做家政的网站
  • 顺德哪家做网站小学生摘抄新闻2024