springboot配置請求超時時間(Http會話和接口訪問)
1、配置Http會話超時
可以通過兩種方式為Spring Boot應用程序配置HTTP會話超時。
1.1 application.properties中配置會話超時
最簡單的方法是在你的application.properties中加入?yún)?shù)server.servlet.session.timeout。
server:
servlet:
session:
# 配置會話超時
timeout: 120s還要注意的是,Tomcat不允許你將超時時間設置得少于60秒。
1.2 以程序方式配置會話超時
假設我們想讓我們的HttpSession只持續(xù)兩分鐘。為了實現(xiàn)這一點,我們可以在我們的WebConfiguration類中添加一個EmbeddedServletContainerCustomizerBean,內(nèi)容如下。
@Configuration
public class WebConfiguration {
@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setSessionTimeout(2, TimeUnit.MINUTES);
}
};
}
}這里再給出一個使用Java 8和lambda表達式的捷徑寫法。
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
return (ConfigurableEmbeddedServletContainer container) -> {
container.setSessionTimeout(2, TimeUnit.MINUTES);
};
}在應用程序啟動期間,Spring Boot自動配置檢測到EmbeddedServletContainerCustomizer,并調(diào)用customize(…)方法,傳遞對Servlet容器的引用。
2、配置接口訪問超時
SpringBoot設置接口訪問超時時間有兩種方式
2.1 配置文件方式
在配置文件application.properties中加了spring.mvc.async.request-timeout=120000,意思是設置超時時間為120000ms即120s
# [設置接口的超時時間] spring.mvc.async.request-timeout=120000
2.2 配置Config配置類
還有一種就是在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();
}
}到此這篇關于springboot配置請求超時時間(Http會話和接口訪問)的文章就介紹到這了,更多相關springboot 請求超時時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java 高并發(fā)編程之最實用的任務執(zhí)行架構設計建議收藏
高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統(tǒng)能夠同時并行處理很多請求,高并發(fā)相關常用的一些指標有響應時間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),并發(fā)用戶數(shù)等2021-10-10
SpringBootAdmin+actuator實現(xiàn)服務監(jiān)控
這篇文章主要為大家詳細介紹了SpringBootAdmin+actuator實現(xiàn)服務監(jiān)控,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Java SpringMVC的@RequestMapping注解使用及說明
這篇文章主要介紹了Java SpringMVC的@RequestMapping注解使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Spring?@Bean?修飾方法時注入?yún)?shù)的操作方法
對于 Spring 而言,IOC 容器中的 Bean 對象的創(chuàng)建和使用是一大重點,Spring 也為我們提供了注解方式創(chuàng)建 bean 對象:使用 @Bean,這篇文章主要介紹了Spring?@Bean?修飾方法時如何注入?yún)?shù),需要的朋友可以參考下2023-10-10
Spring?Boot請求處理之常用參數(shù)注解使用教程
這篇文章主要給大家介紹了關于Spring?Boot請求處理之常用參數(shù)注解使用的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-03-03
SpringBoot+Thymeleaf靜態(tài)資源的映射規(guī)則說明
這篇文章主要介紹了SpringBoot+Thymeleaf靜態(tài)資源的映射規(guī)則說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
詳解關于springboot-actuator監(jiān)控的401無權限訪問
本篇文章主要介紹了詳解關于springboot-actuator監(jiān)控的401無權限訪問,非常具有實用價值,有興趣的可以了解一下2017-09-09

