spring-session-data-geode

Spring Session support for Apache Geode and VMware Tanzu GemFire

APACHE-2.0 License

Stars
21
Committers
5

:version: 3.0.0-M5 :geode-version: 115

image:https://badges.gitter.im/spring-projects/spring-session.svg[link="https://gitter.im/spring-projects/spring-session?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"]

image:https://travis-ci.org/spring-projects/spring-session.svg?branch=master["Build Status", link="https://travis-ci.org/spring-projects/spring-session-data-geode"]

[[ssdg]] == Spring Session for Apache Geode

Spring Session core provides an API along with several provider implementations to manage user sessions. It also simplifies the support for clustered session state management without being tied to an application container specific solution.

[[notice]] == NOTICE

[[notice-2023-january]] 2023-January-17:

At the end of 2022, VMware https://tanzu.vmware.com/content/blog/spring-for-vmware-gemfire-is-now-available[announced] the general availability of the Spring for VMware GemFire portfolio of projects.

While these Spring based projects for VMware GemFire are open source and a succession to the Spring for Apache Geode projects, they are not a replacement. VMware GemFire forked from the Apache Geode project and is not open source. Additionally, newer Apache Geode and VMware GemFire clients are not backwards compatible with older Apache Geode and VMware GemFire servers. You can begin the transition by starting https://docs.vmware.com/en/Spring-Session-for-VMware-GemFire/index.html[here].

Alternatively, the Spring portfolio provides first-class https://spring.io/projects/spring-session[integration] with other comparable session caching providers. Also, see https://docs.spring.io/spring-session/reference/modules.html[here].

Finally, keep in mind, the Spring for Apache Geode projects will still be maintained until OSS and commercial support ends. Maintenance will only include CVE and critical fixes. No new features or major enhancements will be made. The Spring Session for Apache Geode support timelines can be viewed https://spring.io/projects/spring-session#support[here].

[[notice-2022-october]] 2022-October-24:

See the October 24th https://github.com/spring-projects/spring-data-geode#notice[NOTICE] on the Spring Data for Apache Geode GitHub project page for complete details.

[[project-features]] == Features

Out of the box Spring Session provides integration with:

  • HttpSession - replaces the HttpSession supplied by the application container (e.g. Apache Tomcat) in a neutral way along with providing HTTP Session IDs in the HTTP Header to work with REST APIs.

  • WebSocket - keeps the HttpSession active when receiving WebSocket messages.

On top of the core Spring Session features, Spring Session for Apache Geode and VMware Tanzu GemFire (SSDG) positions either https://geode.apache.org/[Apache Geode] or https://pivotal.io/pivotal-gemfire[VMware Tanzu GemFire] as a session repository provider and adds additional capabilities required by enterprise class solutions:

These and many more Apache Geode or VMware Tanzu GemFire features may be leveraged in your application environment to achieve resilient, highly available (HA), durable, consistent, and even multi-clustered (WAN), persistent session statement management.

The best part, SSDG allows you to use either Apache Geode or VMware Tanzu GemFire interchangeably without having to change a single line of code. Simply change your dependency from org.springframework.session:spring-session-data-geode to org.springframework.session:spring-session-data-gemfire, or vice versa, and you can seemlessly move between either Apache Geode or VMware Tanzu GemFire, or even PCC.

No other Spring Session provider offers you the same type of flexibility and power in 1 solution, especially as your requirements and UC change (e.g. from simple session caching to a full on System of Record with distributed compute and streaming capabilities).

[[website]] == Spring Session Project Site

You can find the documentation, issue management, support, samples, and guides for using Spring Session at https://projects.spring.io/spring-session/.

Additionally, you can find documentation, issue management, support, samples and guides using Spring Session for Apache Geode & VMware Tanzu GemFire at https://spring.io/projects/spring-session-data-geode.

[[documentation]] === Documentation

Documentation for Spring Session for Apache Geode and VMware Tazu GemFire can be found https://docs.spring.io/spring-session-data-geode/docs/current/reference/html5/[here] and Javadoc is available https://docs.spring.io/spring-session-data-geode/docs/current/api/[here].

[[code-of-conduct]] == Code of Conduct

Please see our https://github.com/spring-projects/.github/blob/master/CODE_OF_CONDUCT.md[code of conduct]

[[report-security-vulnerability]] == Reporting Security Vulnerabilities

Please see our https://github.com/spring-projects/spring-session-data-geode/security/policy[Security policy].

[[license]] == License

Spring Session is Open Source Software released under the https://www.apache.org/licenses/LICENSE-2.0.html[Apache 2.0 license].