package com.stylefeng.guns; import com.rabbitmq.client.ConnectionFactory; 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.mybatis.spring.annotation.MapperScan; 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 */ @MapperScan("com.stylefeng.guns.modular.*.dao") @EnableScheduling//开启定时任务 @SpringBootApplication public class GunsApplication { private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class); public static void main(String[] args) { SpringApplication.run(GunsApplication.class, args); logger.info("GunsApplication is success!"); } @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; } @Bean //通过ip地址调用 public ConnectionFactory getConnectionFactory() { return new ConnectionFactory(); } }