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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot配置文件application.properties的使用
這篇文章主要介紹了SpringBoot配置文件application.properties的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
springboot靜態(tài)資源(static)無法訪問問題404及解決過程
文章瀏覽閱讀7.8k次。本文介紹了SpringBoot項目中遇到的靜態(tài)資源無法訪問的問題及解決辦法。主要從攔截器配置、靜態(tài)資源映射配置和pom.xml文件配置三個方面進行詳細說明。2026-05-05
簡述JAVA中堆內(nèi)存與棧內(nèi)存的區(qū)別
這篇文章主要介紹了JAVA中堆內(nèi)存與棧內(nèi)存的區(qū)別,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-07-07
Java 是如何利用接口避免函數(shù)回調(diào)的方法
本篇文章主要介紹了Java 是如何利用接口避免函數(shù)回調(diào)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02

