# Spring Session

Spring Session provides an API and implementations for managing a user’s session information.

Spring Session provides an API and implementations for managing a user’s session information while also making it trivial to support clustered sessions without being tied to an application container-specific solution. It also provides transparent integration with:

  • HttpSession: Allows replacing the HttpSession in an application container-neutral way, with support for providing session IDs in headers to work with RESTful APIs.

  • WebSocket: Provides the ability to keep the HttpSession alive when receiving WebSocket messages

  • WebSession: Allows replacing the Spring WebFlux’s WebSession in an application container-neutral way.

# Spring Session Community

We are glad to consider you a part of our community. The following sections provide additional about how to interact with the Spring Session community.

# Support

You can get help by asking questions on Stack Overflow with the spring-session tag (opens new window). Similarly, we encourage helping others by answering questions on Stack Overflow.

# Source Code

You can find the source code on GitHub at https://github.com/spring-projects/spring-session/ (opens new window)

# Issue Tracking

We track issues in GitHub issues at https://github.com/spring-projects/spring-session/issues (opens new window)

# Contributing

We appreciate pull requests (opens new window).

# License

Spring Session is Open Source software released under the Apache 2.0 license (opens new window).

# Community Extensions

Name Location
Spring Session Infinispan https://infinispan.org/infinispan-spring-boot/master/spring_boot_starter.html#_enabling_spring_session_support (opens new window)

# Minimum Requirements

The minimum requirements for Spring Session are:

  • Java 8+.

  • If you run in a Servlet Container (not required), Servlet 3.1+.

  • If you use other Spring libraries (not required), the minimum required version is Spring 5.0.x.

  • @EnableRedisHttpSession requires Redis 2.8+. This is necessary to support Session Expiration

  • @EnableHazelcastHttpSession requires Hazelcast 3.6+. This is necessary to support FindByIndexNameSessionRepository

At its core, Spring Session has a required dependency only on spring-jcl.
For an example of using Spring Session without any other Spring dependencies, see the hazelcast sample application.