Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Менеджер активных сессий / 5 сообщений из 5, страница 1 из 1
28.09.2015, 09:59
    #39062856
JonnySKS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Менеджер активных сессий
В веб проекте планирую организовать контроль активных юзерских сессий, в виде бина синглтона.
В нем есть коллекция сессий, при логине юзера добавляется элемент в коллекцию, при логауте - удаляется.
Так же есть функция, удаляющая сессию, последняя активность которой превысила определенный таймаут.

Когда лучше отрабатывать эту функцию, при получении данных из бина, при внесении/удалении новых сессий? Как организовать потокобезопасность?

Приму критику и варианты более удачной логики, для решения подобной задачи.
...
Рейтинг: 0 / 0
28.09.2015, 10:18
    #39062869
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Менеджер активных сессий
Таймаут уже существует в Servlet API. Зачем нужен свой собственный? Разве что анонимные сессии раньше убивать?
Потокобезопасность организовывается стандартными средствами.
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html
...
Рейтинг: 0 / 0
28.09.2015, 10:46
    #39062897
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Менеджер активных сессий
JonnySKSВ веб проекте планирую организовать контроль активных юзерских сессий, в виде бина синглтона.
В нем есть коллекция сессий, при логине юзера добавляется элемент в коллекцию, при логауте - удаляется.
Так же есть функция, удаляющая сессию, последняя активность которой превысила определенный таймаут.

Когда лучше отрабатывать эту функцию, при получении данных из бина, при внесении/удалении новых сессий? Как организовать потокобезопасность?

Приму критику и варианты более удачной логики, для решения подобной задачи.

Какой веб сервер ... для начала?

как правило все это уже давно реализовано - гугл в помощь ... особенно если нужно вывести кол-во активных пользователей и отсортировать под дате последнего их запроса итд ...

как примитивный вариант httpsessionlistener

http://www.mkyong.com/servlet/a-simple-httpsessionlistener-example-active-sessions-counter/
...
Рейтинг: 0 / 0
28.09.2015, 10:56
    #39062910
JonnySKS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Менеджер активных сессий
Да, я имплементил HttpSessionListener, но почему то подумал что он не отлавливает таймаут сессии, наверное потому что событие наступает не позже чем должен сработать таймаут. Только что проверил, при таймауте в минуту sessionDestroyed срабатывает примерно через 3 минуты после таймаута.

Значит вопрос насчет функции удаления инвалидных сессий отпадает.
Про потокобезопасность сейчас почитаю.

Atum1,
Почему это примитивный вариант? Есть большее подходящие альтернативы?
...
Рейтинг: 0 / 0
28.09.2015, 14:10
    #39063107
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Менеджер активных сессий
JonnySKSAtum1,
Почему это примитивный вариант? Есть большее подходящие альтернативы?

потому что :

если это какой либо JEE сервер , то как правило там уже в админке все это есть + пульт управления ...

если у Вас спринг - то тоже есть и конфигурируется достаточно хорошо (сколько сессий от одного пользователя может быть , сколько одновременных коннектов итд ...)

+ там куча всего : principal, роли итд ....
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Менеджер активных сессий / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]