Утренние гуру,
Я пытаюсь реализовать решение, позволяющее только одному пользователю нашего веб-приложения видеть интересующие его данные, пока они не отойдут от страницы.
Поэтому, когда пользователь нажимает на страницу, ему представляются все маршруты, на которые у него есть разрешение на просмотр, и никто другой, у кого есть разрешение на их просмотр, в настоящее время не просматривает.
Я частично реализовал это, сделавbean-компонент Application Scoped, в котором хранится карта маршрутов, просматриваемых пользователями, для которых указан их идентификатор сеанса.
Bean-компонент Application Scoped обновляется, когда поддерживающий компонент страницы получает маршруты из базы данных.Я написал Фильтр, который удаляет просмотренные маршруты из bean-объекта Application Scoped, когда пользователь покидает страницу.
Все это прекрасно работает: -)
Но если пользователь покидает страницу либозакрытие вкладки браузера / закрытие браузера или сеанс, срок действия которого истекает, мой код очистки обойден.
У кого-нибудь есть предложения, как
- можно заставить мой код очистки запускаться довкладка / браузер закрывается / сессия истекает.
- Я могу получить доступ к сеансам для всех пользователей в моем компоненте области приложения (поэтому я могу выполнять итерации по ним и создавать карту отслеживаемых маршрутов каждый раз, когда она запрашивается)
- Идея лучшего решения.
Я работаю с JSF / Icefaces 2.
Спасибо за ваше время.