HTTPSession es una parte importante de cualquier aplicación Web…desde Spring (concretamente el líder del proyecto Spring Security, Rob Winch) se han planteado darle una vuelta al concepto y hacer que sea mucho más portable.

Spring Session separa la gestión de HTTPSession del contenedor ofreciendo una API e implementación, esto permite usar el concepto de Session tanto en un WebSphere, un Tomcat como en un contenedor embebido y configurar su clusterización. Por defecto Spring Session usa Redis cache como implementación.

Pero más importante que eso (creo) es que Spring Session soporta el concepto para Servicios REST, para aplicaciones WebSockets,….lo que nos permite usar el concepto en diverso tipo de aplicaciones.

Sus características principales son:

· API e implementación para manejar sesión de usuario independiente del contenedor

· HttpSession: reemplaza HttpSession del contenedor soportando:

o Sesiones clusterizadas

o Varias sesiones por navegador: soporta la gestión de múltiples sesión de usuario en una instancia única de navegador

· API RESTful: provee sesión ids en cabeceras para trabajar en APIS RESful

· WebSocket: mantiene la sesió HttpSession abierta cuando se reciben mensajes WebSocket.

Spring Session acaba de publicar su reléase 1.0.0, para usarlo:

En este artículo podéis encontrar un ejemplo de uso de Spring Session con Spring Security.