SlideShare a Scribd company logo
Session State Caching
with Spring Session & Apache Geode
John Blum - @john_blum
1
Our story continues…
Session State Caching with Spring
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
How	does	Spring	help?
Apache	Geode	 Pivotal	GemFire	
Spring	Session		 SDG	 Spring	Framework	Spring	Boot
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring	Session		
SDG	
Spring	Framework	
Spring	Boot
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring	Session		
-	Replaces	H(pSession	in	app	container	(e.g.	Tomcat)	
-	Support	for	REST-ful	APIs	by	placing	Session	ID	in	headers	
-	Keeps	HIpSession	alive	when	receiving	WebSocket	messages	
-	Replaces	WebFlux’s	WebSession	in	app	container	neutral	way
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Cloud-Ready Data Management Solution…
In-Memory Data Grid (IMDG)
Apache	Geode	 Pivotal	GemFire
*	Clustered	
Par@@oned	-	Redundant	
Memory
*	Clustered	
Par@@oned	-	Redundant	
Mul@-Site
Enough Talk
Show me the code!
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
HTTP	
Spring	Session		
Request/Response	
SDG	
SessionRepositoryFilter	
<Filter>	
HIpServletRequest	
SessionRepositoryRequestWrapper	
SessionRepository	
.createSession()
.findById(sessionId)
GemFireSession	
<Session>	
.findByIndexNameAndIndexValue(..)
HIpSessionWrapper	
HIpSessionAdapter	
<H,pSession>	
hIps://docs.spring.io/spring-session/docs/2.0.2.RELEASE/reference/html5/#hIpsession-how	
Spring	Boot
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
hIps://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/#xml-servlet-container-iniXalizaXon
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
hIps://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/#client-configuraXon	
hIps://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/#java-servlet-container-iniXalizaXon
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring	Boot
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
H,pServletRequest	
H,pSession	
Session	
SessionRepository	
API	
Spring	Session		
-  Query	(findBy…)	
-  Indexing	
-  Deltas	
-  Custom	ExpiraXon	
-  Custom	SerializaXon
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Session for Apache Geode & Pivotal GemFire
Spring Session
Using Apache Geode or Pivotal GemFire
with Spring Session Data Geode/GemFire
Simplifies (HTTP) Session State Management
+	+	|
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring for Apache Geode & Pivotal GemFire
Spring Framework & Spring Data
Using Apache Geode or Pivotal GemFire
with Spring’s Cache Abstraction & Spring Data Geode/GemFire
Works as a JSR-107 JCache caching provider
+	| +
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring Boot for Apache Geode & Pivotal GemFire
Spring Boot
Using Apache Geode or Pivotal GemFire
with Spring Boot Data Geode/GemFire
Gets you up and running as quickly and easily as possible
+	 +	|
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Apache Geode to Pivotal GemFire on PCF
System of Record (SOR)…
!  Basic CRUD and simple Querying with Spring Data Repositories (OLTP)
!  Continuous Queries for Event Stream Processing
!  Function Executions for Distributed Compute
!  WAN for Site-to-Site Replication, HA, Disaster Recovery
20
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Spring	Session		 SDG	 Spring	Framework	Spring	Boot	
Apache	Geode	 Pivotal	GemFire
Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
References
•  Project Page: https://github.com/spring-projects/spring-session-data-geode
•  Spring Session Data GemFire/Geode Reference Documentation:
https://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/
•  Spring Session Reference Documentation:
https://docs.spring.io/spring-session/docs/2.0.2.RELEASE/reference/html5/#introduction
•  StackOverflow: https://stackoverflow.com/questions/tagged/spring-session
•  Pivotal CloudFoundry (PCF) Pivotal Cloud Cache (PCC) with Session State Caching (SSC):
https://docs.pivotal.io/ssc-gemfire/index.html
•  Presentation Examples: https://github.com/jxblum/spring-session-data-gemfire-example
•  Apache Tomcat (9.0) Cluster (by comparison): https://tomcat.apache.org/tomcat-9.0-doc/cluster-howto.html
Me: @john_blum (Twitter) https://spring.io/team/jxblum (GitHub) https://github.com/jxblum
Questions
Answers
24© 2014	Pivotal	Soaware,	Inc.		All	rights	reserved.
Thank You

More Related Content

What's hot (20)

PDF
Apache Roller, Acegi Security and Single Sign-on
Matt Raible
 
PDF
Introduction to Cloud Foundry #JJUG
Toshiaki Maki
 
PPTX
AEM Communities 6.1 - MongoSV '15
Kevin Nennig
 
PDF
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
PDF
Front End Development for Back End Java Developers - NYJavaSIG 2019
Matt Raible
 
PDF
Java Web Application Security - Jazoon 2011
Matt Raible
 
PDF
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
Matt Raible
 
PDF
JVMs in Containers
David Delabassee
 
PDF
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
VMware Hyperic
 
PDF
Spring5 New Features - Nov, 2017
VMware Tanzu Korea
 
PDF
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
Peter Moskovits
 
PDF
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
Edureka!
 
PPTX
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Toshiaki Maki
 
PDF
4Developers 2015: Do you think you're doing microservice architecture? - Marc...
PROIDEA
 
PDF
Why PCF is the best platform for Spring Boot
Toshiaki Maki
 
PDF
Spring Boot & Actuators
VMware Tanzu
 
PDF
JavaDo#09 Spring boot入門ハンズオン
haruki ueno
 
PDF
HTML5 WebSocket for the Real-Time Web and the Internet of Things
Peter Moskovits
 
PDF
Microservices with Spring and Cloud Foundry
Alain Sahli
 
PDF
Maximize the power of OSGi in AEM
ICF CIRCUIT
 
Apache Roller, Acegi Security and Single Sign-on
Matt Raible
 
Introduction to Cloud Foundry #JJUG
Toshiaki Maki
 
AEM Communities 6.1 - MongoSV '15
Kevin Nennig
 
JavaOne India 2011 - Running your Java EE 6 Apps in the Cloud
Arun Gupta
 
Front End Development for Back End Java Developers - NYJavaSIG 2019
Matt Raible
 
Java Web Application Security - Jazoon 2011
Matt Raible
 
10 Excellent Ways to Secure Spring Boot Applications - Okta Webinar 2020
Matt Raible
 
JVMs in Containers
David Delabassee
 
Case Study: Migrating Hyperic from EJB to Spring from JBoss to Apache Tomcat
VMware Hyperic
 
Spring5 New Features - Nov, 2017
VMware Tanzu Korea
 
JMS, WebSocket, and the Internet of Things - Controlling Physical Devices on ...
Peter Moskovits
 
Docker Swarm For High Availability | Docker Tutorial | DevOps Tutorial | Edureka
Edureka!
 
マイクロサービスに必要な技術要素はすべてSpring Cloudにある #DO07
Toshiaki Maki
 
4Developers 2015: Do you think you're doing microservice architecture? - Marc...
PROIDEA
 
Why PCF is the best platform for Spring Boot
Toshiaki Maki
 
Spring Boot & Actuators
VMware Tanzu
 
JavaDo#09 Spring boot入門ハンズオン
haruki ueno
 
HTML5 WebSocket for the Real-Time Web and the Internet of Things
Peter Moskovits
 
Microservices with Spring and Cloud Foundry
Alain Sahli
 
Maximize the power of OSGi in AEM
ICF CIRCUIT
 

Similar to Session State Caching with Spring (20)

PPTX
Scaling Spring Boot Applications in Real-Time
VMware Tanzu
 
POTX
Building Effective Apache Geode Applications with Spring Data GemFire
John Blum
 
PPTX
Introducing Apache Geode and Spring Data GemFire
John Blum
 
PPTX
Spring Data and In-Memory Data Management in Action
John Blum
 
PPTX
Getting Started with Apache Geode
John Blum
 
PDF
Spring Data (GemFire) Overview
John Blum
 
PPTX
#GeodeSummit - Spring Data GemFire API Current and Future
PivotalOpenSourceHub
 
PPTX
Building Highly Scalable Spring Applications using In-Memory Data Grids
John Blum
 
PPTX
The Past Year in Spring for Apache Geode
VMware Tanzu
 
PPTX
Geode Meetup Apachecon
upthewaterspout
 
PDF
Pivotal's effort on Apache Geode
Apache Apex
 
PDF
Apache Geode Meetup, London
Apache Geode
 
PPTX
ApexMeetup Geode - Talk1 2016-03-17
Apache Apex Organizer
 
PDF
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode
 
PPTX
Open Sourcing GemFire - Apache Geode
Apache Geode
 
PPTX
An Introduction to Apache Geode (incubating)
Anthony Baker
 
PDF
Introduction to Apache Geode (Cork, Ireland)
Anthony Baker
 
PDF
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Christian Tzolov
 
PPTX
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
William Markito Oliveira
 
PDF
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
William Markito Oliveira
 
Scaling Spring Boot Applications in Real-Time
VMware Tanzu
 
Building Effective Apache Geode Applications with Spring Data GemFire
John Blum
 
Introducing Apache Geode and Spring Data GemFire
John Blum
 
Spring Data and In-Memory Data Management in Action
John Blum
 
Getting Started with Apache Geode
John Blum
 
Spring Data (GemFire) Overview
John Blum
 
#GeodeSummit - Spring Data GemFire API Current and Future
PivotalOpenSourceHub
 
Building Highly Scalable Spring Applications using In-Memory Data Grids
John Blum
 
The Past Year in Spring for Apache Geode
VMware Tanzu
 
Geode Meetup Apachecon
upthewaterspout
 
Pivotal's effort on Apache Geode
Apache Apex
 
Apache Geode Meetup, London
Apache Geode
 
ApexMeetup Geode - Talk1 2016-03-17
Apache Apex Organizer
 
Apache Geode Meetup, Cork, Ireland at CIT
Apache Geode
 
Open Sourcing GemFire - Apache Geode
Apache Geode
 
An Introduction to Apache Geode (incubating)
Anthony Baker
 
Introduction to Apache Geode (Cork, Ireland)
Anthony Baker
 
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Christian Tzolov
 
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
William Markito Oliveira
 
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
William Markito Oliveira
 
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
PDF
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
PPTX
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
PDF
Spring Update | July 2023
VMware Tanzu
 
PPTX
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
PPTX
Building Cloud Ready Apps
VMware Tanzu
 
PDF
Spring Boot 3 And Beyond
VMware Tanzu
 
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
PPTX
tanzu_developer_connect.pptx
VMware Tanzu
 
PDF
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
PDF
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
PDF
Virtual Developer Connect Workshop - English
VMware Tanzu
 
PDF
Tanzu Developer Connect - French
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
PDF
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Ad

Recently uploaded (20)

PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
The Future of Artificial Intelligence (AI)
Mukul
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

Session State Caching with Spring

  • 1. Session State Caching with Spring Session & Apache Geode John Blum - @john_blum 1
  • 4. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ How does Spring help?
  • 5. Apache Geode Pivotal GemFire Spring Session SDG Spring Framework Spring Boot
  • 6. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Session SDG Spring Framework Spring Boot
  • 7. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Session - Replaces H(pSession in app container (e.g. Tomcat) - Support for REST-ful APIs by placing Session ID in headers - Keeps HIpSession alive when receiving WebSocket messages - Replaces WebFlux’s WebSession in app container neutral way
  • 8. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Cloud-Ready Data Management Solution… In-Memory Data Grid (IMDG) Apache Geode Pivotal GemFire
  • 11. Enough Talk Show me the code!
  • 12. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ HTTP Spring Session Request/Response SDG SessionRepositoryFilter <Filter> HIpServletRequest SessionRepositoryRequestWrapper SessionRepository .createSession() .findById(sessionId) GemFireSession <Session> .findByIndexNameAndIndexValue(..) HIpSessionWrapper HIpSessionAdapter <H,pSession> hIps://docs.spring.io/spring-session/docs/2.0.2.RELEASE/reference/html5/#hIpsession-how Spring Boot
  • 13. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ hIps://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/#xml-servlet-container-iniXalizaXon
  • 14. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ hIps://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/#client-configuraXon hIps://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/#java-servlet-container-iniXalizaXon
  • 15. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Boot
  • 16. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ H,pServletRequest H,pSession Session SessionRepository API Spring Session -  Query (findBy…) -  Indexing -  Deltas -  Custom ExpiraXon -  Custom SerializaXon
  • 17. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Session for Apache Geode & Pivotal GemFire Spring Session Using Apache Geode or Pivotal GemFire with Spring Session Data Geode/GemFire Simplifies (HTTP) Session State Management + + |
  • 18. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring for Apache Geode & Pivotal GemFire Spring Framework & Spring Data Using Apache Geode or Pivotal GemFire with Spring’s Cache Abstraction & Spring Data Geode/GemFire Works as a JSR-107 JCache caching provider + | +
  • 19. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Boot for Apache Geode & Pivotal GemFire Spring Boot Using Apache Geode or Pivotal GemFire with Spring Boot Data Geode/GemFire Gets you up and running as quickly and easily as possible + + |
  • 20. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Apache Geode to Pivotal GemFire on PCF System of Record (SOR)… !  Basic CRUD and simple Querying with Spring Data Repositories (OLTP) !  Continuous Queries for Event Stream Processing !  Function Executions for Distributed Compute !  WAN for Site-to-Site Replication, HA, Disaster Recovery 20
  • 21. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ Spring Session SDG Spring Framework Spring Boot Apache Geode Pivotal GemFire
  • 22. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ References •  Project Page: https://github.com/spring-projects/spring-session-data-geode •  Spring Session Data GemFire/Geode Reference Documentation: https://docs.spring.io/autorepo/docs/spring-session-data-geode-build/2.0.2.RELEASE/reference/html5/ •  Spring Session Reference Documentation: https://docs.spring.io/spring-session/docs/2.0.2.RELEASE/reference/html5/#introduction •  StackOverflow: https://stackoverflow.com/questions/tagged/spring-session •  Pivotal CloudFoundry (PCF) Pivotal Cloud Cache (PCC) with Session State Caching (SSC): https://docs.pivotal.io/ssc-gemfire/index.html •  Presentation Examples: https://github.com/jxblum/spring-session-data-gemfire-example •  Apache Tomcat (9.0) Cluster (by comparison): https://tomcat.apache.org/tomcat-9.0-doc/cluster-howto.html Me: @john_blum (Twitter) https://spring.io/team/jxblum (GitHub) https://github.com/jxblum