相关文章推荐
被表白的橙子  ·  There was a problem ...·  2 年前    · 
失眠的番茄  ·  python re ...·  2 年前    · 
玉树临风的茶壶  ·  Benefits of Using the ...·  2 年前    · 

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