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()); 
    } 
}

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

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/16933.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论