spring-session(一)揭秘续篇
上一篇文章中介绍了Spring-Session的核心原理,Filter,Session,Repository等等,传送门: spring-session(一)揭秘 。 这篇继上一篇的原理逐渐深入Spring-Session中的事件机制原理的探索。众所周知,Servlet规范中有对HttpSession的事件的处理,如:HttpSessionEvent/HttpSessionIdListener/HttpSessionListener,可以查看 Package javax.servlet 在Spring-Session中也有相应的Session事件机制实现,包括Session创建/过期/删除事件。 本文主要从以下方面探索Spring-Session中事件机制 Session事件的抽象 事件的触发机制 Note: 这里的事件触发机制只介绍基于RedissSession的实现。基于内存Map实现的MapSession不支持Session事件机制。其他的Session实现这里也不做关注。 一.Session事件的抽象 先来看下Session事件抽象UML类图,整体掌握事件之间的依赖关系。 Session Event最顶层是ApplicationEvent,即Spring上下文事件对象。由此可以看出Spring-Session的事件机制是基于Spring上下文事件实现。