springboot配置请求超时时间(Http会话和接口访问)

 更新时间:2024年07月03日 09:39:35   作者:普通网友  
本文主要介绍了springboot配置请求超时时间,包含Http会话和接口访问两种,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1、配置Http会话超时

可以通过两种方式为Spring Boot应用程序配置HTTP会话超时

1.1 application.properties中配置会话超时

最简单的方法是在你的application.properties中加入参数server.servlet.session.timeout

server:
  servlet:
    session:
      # 配置会话超时
      timeout: 120s

还要注意的是,Tomcat不允许你将超时时间设置得少于60秒

1.2 以程序方式配置会话超时

假设我们想让我们的HttpSession只持续两分钟。为了实现这一点,我们可以在我们的WebConfiguration类中添加一个EmbeddedServletContainerCustomizerBean,内容如下。

@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,并调用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 请求超时时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot配置文件application.properties的使用

    SpringBoot配置文件application.properties的使用

    这篇文章主要介绍了SpringBoot配置文件application.properties的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java中break的第三种用法说明

    Java中break的第三种用法说明

    这篇文章主要介绍了Java中break的第三种用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • java实现轻量型http代理服务器示例

    java实现轻量型http代理服务器示例

    这篇文章主要介绍了java实现轻量型http代理服务器示例,需要的朋友可以参考下
    2014-04-04
  • Java 从互联网上爬邮箱代码示例

    Java 从互联网上爬邮箱代码示例

    这篇文章介绍了Java 从互联网上爬邮箱的有关内容,主要是一个代码示例,小编觉得挺不错的,这里给大家分享下,需要的朋友可以了解。
    2017-10-10
  • Java拦截器和过滤器的区别分析

    Java拦截器和过滤器的区别分析

    今天带大家分析java拦截器和过滤器的区别,文中有非常详细的解释说明,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
    2021-05-05
  • springboot静态资源(static)无法访问问题404及解决过程

    springboot静态资源(static)无法访问问题404及解决过程

    文章浏览阅读7.8k次。本文介绍了SpringBoot项目中遇到的静态资源无法访问的问题及解决办法。主要从拦截器配置、静态资源映射配置和pom.xml文件配置三个方面进行详细说明。
    2026-05-05
  • Spring Boot自动配置源码实例解析

    Spring Boot自动配置源码实例解析

    Spring Boot作为Java领域最为流行的快速开发框架之一,其核心特性之一就是其强大的自动配置机制,下面这篇文章主要给大家介绍了关于Spring Boot自动配置源码的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • 简述JAVA中堆内存与栈内存的区别

    简述JAVA中堆内存与栈内存的区别

    这篇文章主要介绍了JAVA中堆内存与栈内存的区别,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • springboot 跨域配置类及跨域请求配置

    springboot 跨域配置类及跨域请求配置

    这篇文章主要介绍了springboot 跨域配置类及跨域请求配置,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • Java 是如何利用接口避免函数回调的方法

    Java 是如何利用接口避免函数回调的方法

    本篇文章主要介绍了Java 是如何利用接口避免函数回调的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02

最新评论