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. 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/

Issue Tracking

We track issues in GitHub issues at https://github.com/spring-projects/spring-session/issues

Contributing

We appreciate pull requests.

License

Spring Session is Open Source software released under the Apache 2.0 license.

Community Extensions

Name Location

Spring Session Infinispan

https://infinispan.org/docs/stable/titles/spring/spring.html

Spring Session Caffeine

https://github.com/gotson/spring-session-caffeine

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.