zoukankan      html  css  js  c++  java
  • springboot设置接口超时

    springboot 设置接口超时

    1、配置文件 application.properties中加了,意思是设置超时时间为20000ms即20s,

    spring.mvc.async.request-timeout=20000

    2、config配置类

    public class WebMvcConfig extends WebMvcConfigurerAdapter {
        @Override
        public void configureAsyncSupport(final AsyncSupportConfigurer configurer) {
            configurer.setDefaultTimeout(20000);
            configurer.registerCallableInterceptors(timeoutInterceptor());
        }
        @Bean
        public TimeoutCallableProcessingInterceptor timeoutInterceptor() {
            return new TimeoutCallableProcessingInterceptor();
        }
    }

    3、RestTemplate超时

    设置配置HttpComponentsClientHttpRequestFactory中的RequestConfig属性
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
    import org.springframework.web.client.RestTemplate;
     
    @Slf4j
    @Configuration
    public class RestTemplateConfig {
     
        @Bean
        @ConfigurationProperties(prefix = "rest.connection")
        public HttpComponentsClientHttpRequestFactory httpRequestFactory() {
            return new HttpComponentsClientHttpRequestFactory();
        }
     
        @Bean
        public RestTemplate customRestTemplate(){
            return new RestTemplate(httpRequestFactory());
        }
    }

    也可以:

    @Beanpublic SimpleClientHttpRequestFactory httpRequestFactory() {         
      SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();  
      requestFactory.setConnectTimeout(1000);  
      requestFactory.setReadTimeout(1000);               
      return requestFactory;
    }
         
    @Bean
    public RestTemplate customRestTemplate(){   return new RestTemplate(httpRequestFactory()); }

    application.properties:

    #restTemplate配置
    # 连接不共用的时候,等待连接超时。 rest.connection.connectionRequestTimeout=30000
    #  建立连接超时 rest.connection.connectTimeout=30000
    # 建立连接成功后 从服务器读取超时 rest.connection.readTimeout=30000

    或者

    #restTemplate配置
    rest.connection.connection-request-timeout=30000
    rest.connection.connect-timeout=30000
    rest.connection.read-timeout=30000

    来源于:

    https://blog.csdn.net/qq_35860138/article/details/88941558

    https://blog.csdn.net/weixin_34114823/article/details/86015073

  • 相关阅读:
    iOS7 自己定义动画跳转
    Android开发之用双缓冲技术绘图
    postgres 使用存储过程批量插入数据
    渗透过程
    python pytesseract使用
    排序算法比较
    python算法
    python中PIL模块
    数字电路复习
    windows服务参考
  • 原文地址:https://www.cnblogs.com/yrjns/p/springboot.html
Copyright © 2011-2022 走看看