Spring Session MongoDB
Spring Session MongoDB provides an API and implementations for managing a user’s session information stored in MongoDB by leveraging Spring Data MongoDB.
Features
Spring Session MongoDB provides the following features:
-
API and implementations for managing a user’s session
-
HttpSession - allows replacing the HttpSession in an application container (i.e. Tomcat) neutral way
-
Clustered Sessions - Spring Session makes it trivial to support clustered sessions without being tied to an application container specific solution.
-
Multiple Browser Sessions - Spring Session supports managing multiple users' sessions in a single browser instance (i.e. multiple authenticated accounts similar to Google).
-
RESTful APIs - Spring Session allows providing session ids in headers to work with RESTful APIs WebSocket - provides the ability to keep the HttpSession alive when receiving WebSocket messages
Adding Spring Session for MongoDB to your build
Spring Session MongoDB is part of a Maven BOM (Bill of Materials) used to coordinate versions between the core Spring Session project and this MongoDB extension. Each BOM release is called a release train and has a naming strategy, e.g. Apple-SR8
, Bean-SR3
, etc.
Using the BOM with Maven
With Maven, you need to import the BOM first:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-bom</artifactId>
<version>Bean-SR3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
-
This example is using
Bean-SR3
, but you plug in the release train version you need. -
Notice the use of the
<dependencyManagement>
section and theimport
scope. -
The BOM artifact is
org.springframework.session:spring-session-bom
, and is outside of Spring Session MongoDB.
Next, add your dependencies to the project without a <version>
:
<dependencies>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-mongodb</artifactId>
</dependency>
</dependencies>
Using the BOM with Gradle
Since Gradle has no first-class support for Maven BOMs, you can use Spring’s Dependency management plugin.
Apply the plugin from Gradle Plugin Portal (update the version if needed):
plugins {
id 'io.spring.dependency-management' version '1.0.6.RELEASE'
}
Then use it to import the BOM:
dependencyManagement {
imports {
mavenBom 'org.springframework.session:spring-session-bom:Bean-SR3'
}
}
Finally, add a dependency to the project without a version:
dependencies {
compile 'org.springframework.session:spring-session-data-mongodb'
}
Quickstart Your Project
Documentation
2.4.4 CURRENT GA | Reference Doc. | API Doc. |
2.5.0-RC1 PRE | Reference Doc. | API Doc. |
2.3.2.RELEASE GA | Reference Doc. | API Doc. |
2.2.4.RELEASE GA | Reference Doc. | API Doc. |