Какой метод (ы) можно использовать, чтобы попросить контейнер уведомить ваше приложение, когда время сеанса близится к таймауту? (Выберите все подходящие варианты)
A. HttpSessionListener.sessionDestroyed - правильно
B. HttpSessionBindingListener.valueBound
C. HttpSessionBindingListener.valueUnbound - исправьте, это своего рода обход, но если у вас есть класс атрибутов, это способ информирования о тайм-ауте
D. HttpSessionBindingEvent.sessionDestroyed - такого метода нет
Е. HttpSessionAttributeListener.attributeRemoved - удаление атрибута тесно не связано с тайм-аутом сеанса
F. HttpSessionActivationListener.sessionWillPassivate - пассивация сеанса отличается от тайм-аута
Я согласен с вариантом А.
1) Но С сомнительно
Как значение unbound может быть тесно связано с тайм-аутом сеанса. Это просто метод обратного вызова, когда атрибут удаляется.
2) и если C верен, E также должен быть верным.
HttpSessionAttributeListener - это просто класс, который хочет знать, когда какой-либо тип атрибута был добавлен, удален или заменен в сеансе. Реализуется любым классом.
HttpSessionBindingListener существует, так что сам атрибут может узнать, когда он был добавлен или удален из сеанса, и класс атрибута должен реализовать этот интерфейс для достижения этого.
Любые идеи ...