У меня есть объект, который реализует HttpSessionAttributeListener
, и, как вы ожидаете, он выполняет некоторую работу, когда некоторые объекты добавляются, заменяются и удаляются из сеанса.attributeRemoved не вызывается после session.invalidate
Я думал, что если сеанс завершен [session.invalidate()
], каждый объект из этого сеанса будет удален из сеанса, так как будет вызван метод attributeRemoved()
? Я не вижу этого повода и задаюсь вопросом, видел ли я это.
Чтобы гарантировать, что я могу быть уведомлен о том, что сеанс недействителен, должен ли я реализовать HttpSessionBindingListener
на объекте, который меня интересует? или есть другой путь.
Спасибо, вы знаете, если session.invalidate() может вызвать контейнер для уведомления сессионных объектов (реализующие HttpSessionBindingListener), что они теперь несвязанные? – scottyab
Он должен уведомить их, когда они действительно освобождаются, но это может произойти в любое время после того, как сессия будет признана недействительной, без каких-либо гарантий относительно того, когда. – skaffman