package com.stylefeng.guns; import com.stylefeng.guns.core.shiro.ShiroKit; import org.apache.http.client.HttpClient; import org.apache.http.config.SocketConfig; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.client.RestTemplate; import java.nio.charset.StandardCharsets; /** * SpringBoot方式启动类 * * @author stylefeng * @Date 2017/5/21 12:06 */ @EnableScheduling//开启定时任务 @SpringBootApplication public class GunsApplication { private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class); public static void main(String[] args) { // try { SpringApplication.run(GunsApplication.class, args); logger.info("GunsApplication is success!"); // }catch (Exception e){ // e.printStackTrace(); // } } @Bean //通过ip地址调用 public RestTemplate restTemplate() { PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setDefaultSocketConfig(SocketConfig.custom().setTcpNoDelay(true).build()); connectionManager.setDefaultMaxPerRoute(100);//最大并发连接 connectionManager.setMaxTotal(200); // 总的最大连接数 HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connectionManager).build(); HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient); httpRequestFactory.setConnectionRequestTimeout(30 * 1000); httpRequestFactory.setConnectTimeout(30 * 3000); httpRequestFactory.setReadTimeout(30 * 3000); RestTemplate restTemplate = new RestTemplate(httpRequestFactory); restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); return restTemplate; } }