11
13693261870
2024-11-11 138b959cc11dc9a73b0c766030b99ba1180d8650
src/main/java/com/se/simu/config/RestTemplateConfig.java
@@ -16,43 +16,21 @@
import java.nio.charset.StandardCharsets;
import java.util.List;
/**
 * RestTemplate配置类
 *
 * @author WWW
 * @date   2024-09-12
 */
@Configuration
@SuppressWarnings("ALL")
public class RestTemplateConfig {
    /**
     * 连接池的最大连接数默认为0,不限制
     */
    @Value("${remote.maxTotalConnect:0}")
    private int maxTotalConnect;
    /**
     * 单个主机的最大连接数
     */
    @Value("${remote.maxConnectPerRoute:1000}")
    private int maxConnectPerRoute;
    /**
     * 连接超时默认5s,-1为不限制
     */
    @Value("${remote.connectTimeout:5000}")
    private int connectTimeout;
    /**
     * 读取超时默认30s,-1为不限制
     */
    @Value("${remote.readTimeout:30000}")
    private int readTimeout;
    /**
     * 创建HTTP客户端工厂
     *
     * @return 客户端工厂
     */
    private ClientHttpRequestFactory createFactory() {
        if (this.maxTotalConnect <= 0) {
            SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
@@ -70,19 +48,12 @@
        return factory;
    }
    /**
     * 初始化RestTemplate,并加入spring的Bean工厂,由spring统一管理
     * 必须加注解@LoadBalanced
     *
     * @return
     */
    @Bean
    @ConditionalOnMissingBean(RestTemplate.class)
    public RestTemplate getRestTemplate() {
        RestTemplate restTemplate = new RestTemplate(this.createFactory());
        List<HttpMessageConverter<?>> converterList = restTemplate.getMessageConverters();
        // 重新设置StringHttpMessageConverter字符集为UTF-8,解决中文乱码问题
        HttpMessageConverter<?> converterTarget = null;
        for (HttpMessageConverter<?> item : converterList) {
            if (StringHttpMessageConverter.class == item.getClass()) {