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

展示产品的网站 个人备案还是企业最好看免费观看高清大全

展示产品的网站 个人备案还是企业,最好看免费观看高清大全,网站建设报价表模板下载,个人做网站流程图背景 在项目中有个通过线程池发送大量http请求是通过restTemplate 实现的,在研发环境需要直接连某些服务,所以需要动态修改请求的url。 自定义 ClientHttpRequestInterceptor 拦截器修改请求 自定义 ClientHttpRequestInterceptor 在请求发送前修改 URL&…

背景

在项目中有个通过线程池发送大量http请求是通过restTemplate 实现的,在研发环境需要直接连某些服务,所以需要动态修改请求的url。

自定义 ClientHttpRequestInterceptor 拦截器修改请求

自定义 ClientHttpRequestInterceptor 在请求发送前修改 URL:

public class DynamicUrlInterceptor implements ClientHttpRequestInterceptor {@Overridepublic ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)throws IOException {URI originalUri = request.getURI();String originalUrl = originalUri.toString();String host = originalUri.getHost();// 替换服务名为 IPif (SERVICE_MAP.containsKey(host)) {String newUrl = originalUrl.replace("http://" + host, SERVICE_MAP.get(host));try {// 创建新的请求对象HttpRequest newRequest = new HttpRequestWrapper(request, new URI(newUrl));return execution.execute(newRequest, body);} catch (URISyntaxException e) {throw new IOException("Invalid URI after replacing service name", e);}}return execution.execute(request, body);}
}

注册拦截器

RestTemplateConfig 配置

public class RestTemplateConfig {private static final Logger logger = LoggerFactory.getLogger(RestTemplateConfig.class);@Autowiredprivate HttpClinetProperties httpClinetProperties;@Bean(name="httpClientTemplate")public RestTemplate restTemplate() {// 使用http连接池RestTemplate restTemplate = new RestTemplate(httpRequestFactory());//配置自定义的interceptor拦截器List<ClientHttpRequestInterceptor> interceptors=new ArrayList<ClientHttpRequestInterceptor>();interceptors.add(new DynamicUrlInterceptor());restTemplate.setInterceptors(interceptors);return restTemplate;}@Beanpublic ClientHttpRequestFactory httpRequestFactory() {return new HttpComponentsClientHttpRequestFactory(httpClient());}public HttpClient httpClient(){RequestConfig.Builder requestConfigBuilder = RequestConfig.custom();requestConfigBuilder.setSocketTimeout(httpClinetProperties.getSocketTimeout());requestConfigBuilder.setConnectionRequestTimeout(httpClinetProperties.getConnectionRequestTimeout());requestConfigBuilder.setConnectTimeout(httpClinetProperties.getConnectTimeout());RequestConfig defaultRequestConfig = requestConfigBuilder.build();final PoolingHttpClientConnectionManager pollingConnectionManager = new PoolingHttpClientConnectionManager(30, TimeUnit.SECONDS);pollingConnectionManager.setMaxTotal(httpClinetProperties.getMaxTotal());pollingConnectionManager.setDefaultMaxPerRoute(httpClinetProperties.getDefaultMaxPerRoute());HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();httpClientBuilder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy());httpClientBuilder.setConnectionManager(pollingConnectionManager);httpClientBuilder.setDefaultRequestConfig(defaultRequestConfig);HttpClient client = httpClientBuilder.build();Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {pollingConnectionManager.closeExpiredConnections();pollingConnectionManager.closeIdleConnections(5, TimeUnit.SECONDS);}}, 10 * 1000, 5 * 1000);return client;}
}
http://www.dtcms.com/wzjs/350329.html

相关文章:

  • 网站维护主要内容不需要验证码的广告平台
  • fiverr找人做网站靠谱吗it培训机构哪个好一点
  • 深圳建网站制作维护国产系统2345
  • 做企业网站接单免费的行情软件网站下载
  • 微信手机网站搭建网站是如何建立的
  • 国外 色情网站如何快速提升自己
  • 专业的模板建站企业百度提交网站
  • 外贸公司的网站建设模板下载谷歌自然排名优化
  • 做设计不进设计公司网站发布软文
  • wordpress站点统计网页推广方案
  • 网站解析怎么做app注册推广
  • 网站开发对数据库的要求百度推广怎么才能效果好
  • 同个ip不同端口做网站好在哪里做推广效果好
  • 中小型网站建设资讯网页设计与制作步骤
  • 石家庄百度推广官网宁波seo专员
  • 网站建设与网页设计专业百度助手免费下载
  • 国外优秀网站设计seocms
  • wordpress类似的前端seo待遇
  • 网站前端怎么做做微商怎么找客源加人
  • 有了域名怎么做网站昆明seo关键字推广
  • wordpress实现积分seo排名关键词
  • 制作app需要先做网站wordpress企业网站模板
  • 重庆建设部网站官网百度关键词推广可以自己做吗
  • 旅游电子商务网站开发百度推广优化是什么?
  • 阿里巴巴怎么做自己的免费网站推广平台收费标准
  • 怎么自己编程做网站百度总部电话
  • 免费做网站有哪些家怎么自己做一个网页
  • 做影视网站该怎么发展怎么开网站详细步骤
  • 教育网站开发需求说明书武汉seo首页
  • 我自己做的一个网站显示证书错误外贸营销型网站设计