Добавить событие уничтожения сеанса в Spring-Session с Redis

Кто-нибудь знает, как добавить событие уничтожения сеанса в Spring Session с Redis? Я читал, что обычный способ невозможен. Я хотел бы сделать это, потому что мне нужно выполнить некоторый процесс очистки после уничтожения сеанса (тайм-аут или выход из системы). Я был бы очень признателен за вашу помощь, спасибо заранее, ребята.


person Jhon Charles    schedule 18.08.2016    source источник


Ответы (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