package com.sinata.push; import com.sinata.push.util.applets.NettyServer0; import com.sinata.push.util.echo.NettyServer; 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.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.web.client.RestTemplate; import java.nio.charset.StandardCharsets; @EnableDiscoveryClient//开启eureka客户端的消费者 @SpringBootApplication public class MessagePushApplication { public static void main(String[] args) { SpringApplication.run(MessagePushApplication.class, args); NettyServer nettyServer = new NettyServer(); nettyServer.bind(); NettyServer0 nettyServer0 = new NettyServer0(); nettyServer0.bind(); } @Bean //SpringCloud内部服务质检使用服务名调用 @LoadBalanced public RestTemplate internalRestTemplate() { 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 * 1000); httpRequestFactory.setReadTimeout(30 * 1000); RestTemplate restTemplate = new RestTemplate(httpRequestFactory); restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8)); return restTemplate; } }