2016-04-22 3 views
0

Возможно ли зарегистрировать прослушиватель сеанса (реализация HttpSessionListener) в качестве Spring Bean. Моей рабочая реализация добавляет слушатель сервлет контекстов в BootStrap.groovyGrails - зарегистрировать SessionListener как весенний боб

def init = { servletContext -> 
     servletContext.addListener(userLoginSessionListener) 
} 

, но это вызывает мои интеграционные тесты на неудачу с UnsupportedOperationException (создаст еще один вопрос для этого)

Теперь у меня есть следующий не в resources.groovy

userLoginSessionListener(UserLoginSessionListener) 

но теперь мои методы sessionCreated и sessionDestroyed которые больше не срабатывает.

ответ

1

Пришлось спуститься по старомодному маршруту. Удалено определение компонента и настройка BootStrap.groovy и добавлен слушатель через обработчик eventWebXmlEnd в _Events.groovy, который хорошо зарекомендовал себя с нашими интеграционными тестами.

<listener> 
     <listener-class>com.example.UserLoginSessionListener</listener-class> 
</listener> 
Смежные вопросы