IT虾米网

springboot设置接口超时详解

qq123 2019年09月18日 编程语言 143 0

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
发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

linux服务器nginx的卸载和安装详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。