2015-04-21 4 views
0

Все. Я просмотрел веб-страницы, но не нашел подходящего решения для меня.Как получить весенний бобин с глобализацией в HttpSessionListener (метод sessionDestroyed)

Мне нужно получить доступ к информации, полученной из фасоли с глобальными областями в HttpSessionListener, до того, как сессия будет уничтожена.

Я нашел одно решение, после проверки атрибутов сеанса, но это не кажется гладкой:

MyBean myBean = httpSessionEvent.getSession().getAttribute("scopedTarget."+"myBeanImlp"); 

У меня также есть одноэлементные бобы, содержащие сеансовых компонентов через мишень + прокси, но получить их в sessionDestroyed через ctx.getBean("mySingletonBean") , ссылка на сессионный компонент недействительна внутри них (сеансовый компонент уже был уничтожен до sessionDestroyed)

Кто-нибудь знает хорошее и правильное решение для такой проблемы?

Я думаю, что нам нужно что-то вроде DestructionAwareBeanPostProcessor, но для сессионных бобов, где я мог бы смотреть через бобы, готовые к уничтожению и предпринимать необходимые действия.

ответ

0

Вы можете попытаться определить своего слушателя сеанса как компонент и ввести ApplicationContext (или необходимый компонент), а затем получить к нему доступ. Вы можете посмотреть на How to inject dependencies into HttpSessionListener, using Spring?

Смежные вопросы