服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - SpringBoot设置接口超时的方法小结

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

2022-01-06 10:58五色风车 Java教程

这篇文章主要介绍了SpringBoot设置接口超时的方法小结,包括配置文件,config配置类及相关示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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://www.zzvips.com/article/218385.html

来源于:

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

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

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

原文链接:https://www.cnblogs.com/yrjns/p/springboot.html

延伸 · 阅读

精彩推荐