Кто-нибудь знает, как добавить событие уничтожения сеанса в Spring Session с Redis? Я читал, что обычный способ невозможен. Я хотел бы сделать это, потому что мне нужно выполнить некоторый процесс очистки после уничтожения сеанса (тайм-аут или выход из системы). Я был бы очень признателен за вашу помощь, спасибо заранее, ребята.
Добавить событие уничтожения сеанса в Spring-Session с Redis
Ответы (1)
RedisOperationsSessionRepository
опубликует org.springframework.session.events.SessionDestroyedEvent
(точнее, его подклассы SessionDeletedEvent
и SessionExpiredEvent
), если он настроен с ApplicationEventPublisher
. Это произойдет автоматически, если вы используете поддержку конфигурации @EnableRedisHttpSession
.
Затем эти события, в свою очередь, будут преобразованы в javax.servlet.http.HttpSessionEvent
, а затем перенаправлены всем HttpSessionListener
, при условии, что они зарегистрированы в контексте вашего приложения как bean-компоненты.
Дополнительные сведения см. в разделе HttpSessionListener документа Справочное руководство по Spring Session.
person
Vedran Pavic
schedule
21.08.2016