好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

SpringBoot设置接口超时的方法小结

1、配置文件 

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

?

1

spring.mvc.async.request-timeout= 20000

2、config配置类

?

1

2

3

4

5

6

7

8

9

10

11

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超时

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

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

     }

}

也可以:

?

1

2

3

4

5

6

7

8

9

10

@Beanpublic SimpleClientHttpRequestFactory httpRequestFactory() {        

  SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory(); 

  requestFactory.setConnectTimeout( 1000 ); 

  requestFactory.setReadTimeout( 1000 );              

   return requestFactory;

}

     

@Beanpublic RestTemplate customRestTemplate(){

   return new RestTemplate(httpRequestFactory());

}

application.properties:

?

1

2

3

4

#restTemplate配置# 连接不共用的时候,等待连接超时。

rest.connection.connectionRequestTimeout= 30000 #  建立连接超时

rest.connection.connectTimeout= 30000 # 建立连接成功后 从服务器读取超时

rest.connection.readTimeout= 30000

或者

?

1

2

3

4

#restTemplate配置

rest.connection.connection-request-timeout= 30000

rest.connection.connect-timeout= 30000

rest.connection.read-timeout= 30000

推荐文章:

http://HdhCmsTesttuohang.net/article/218385.html

来源于:

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

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

到此这篇关于SpringBoot设置接口超时的方法小结的文章就介绍到这了,更多相关SpringBoot接口超时内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://HdhCmsTestcnblogs测试数据/yrjns/p/springboot.html

查看更多关于SpringBoot设置接口超时的方法小结的详细内容...

  阅读:92次