有人知道如何在Spring Session中使用Redis添加会话销毁事件吗?我读到了正常的方法是不可能的。我想这样做是因为我需要在会话被销毁(超时或注销)后进行一些清理过程。 我非常感谢你的帮助,先谢谢你们。
答案 0 :(得分:1)
RedisOperationsSessionRepository
如果配置了org.springframework.session.events.SessionDestroyedEvent
,则会发布SessionDeletedEvent
(或更确切地说,是其子类SessionExpiredEvent
和ApplicationEventPublisher
) 。如果您使用@EnableRedisHttpSession
配置支持,则会自动执行此操作。
然后,这些事件将被转换为javax.servlet.http.HttpSessionEvent
,然后转发给所有HttpSessionListener
,假设它们已在您的应用程序上下文中注册为bean。
有关详细信息,请参阅Spring Session的参考手册HttpSessionListener section。