|
|
|
Менеджер активных сессий
|
|||
|---|---|---|---|
|
#18+
В веб проекте планирую организовать контроль активных юзерских сессий, в виде бина синглтона. В нем есть коллекция сессий, при логине юзера добавляется элемент в коллекцию, при логауте - удаляется. Так же есть функция, удаляющая сессию, последняя активность которой превысила определенный таймаут. Когда лучше отрабатывать эту функцию, при получении данных из бина, при внесении/удалении новых сессий? Как организовать потокобезопасность? Приму критику и варианты более удачной логики, для решения подобной задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 09:59 |
|
||
|
Менеджер активных сессий
|
|||
|---|---|---|---|
|
#18+
Таймаут уже существует в Servlet API. Зачем нужен свой собственный? Разве что анонимные сессии раньше убивать? Потокобезопасность организовывается стандартными средствами. http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 10:18 |
|
||
|
Менеджер активных сессий
|
|||
|---|---|---|---|
|
#18+
JonnySKSВ веб проекте планирую организовать контроль активных юзерских сессий, в виде бина синглтона. В нем есть коллекция сессий, при логине юзера добавляется элемент в коллекцию, при логауте - удаляется. Так же есть функция, удаляющая сессию, последняя активность которой превысила определенный таймаут. Когда лучше отрабатывать эту функцию, при получении данных из бина, при внесении/удалении новых сессий? Как организовать потокобезопасность? Приму критику и варианты более удачной логики, для решения подобной задачи. Какой веб сервер ... для начала? как правило все это уже давно реализовано - гугл в помощь ... особенно если нужно вывести кол-во активных пользователей и отсортировать под дате последнего их запроса итд ... как примитивный вариант httpsessionlistener http://www.mkyong.com/servlet/a-simple-httpsessionlistener-example-active-sessions-counter/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 10:46 |
|
||
|
Менеджер активных сессий
|
|||
|---|---|---|---|
|
#18+
Да, я имплементил HttpSessionListener, но почему то подумал что он не отлавливает таймаут сессии, наверное потому что событие наступает не позже чем должен сработать таймаут. Только что проверил, при таймауте в минуту sessionDestroyed срабатывает примерно через 3 минуты после таймаута. Значит вопрос насчет функции удаления инвалидных сессий отпадает. Про потокобезопасность сейчас почитаю. Atum1, Почему это примитивный вариант? Есть большее подходящие альтернативы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 10:56 |
|
||
|
Менеджер активных сессий
|
|||
|---|---|---|---|
|
#18+
JonnySKSAtum1, Почему это примитивный вариант? Есть большее подходящие альтернативы? потому что : если это какой либо JEE сервер , то как правило там уже в админке все это есть + пульт управления ... если у Вас спринг - то тоже есть и конфигурируется достаточно хорошо (сколько сессий от одного пользователя может быть , сколько одновременных коннектов итд ...) + там куча всего : principal, роли итд .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2015, 14:10 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=117&tid=2124886]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 368ms |

| 0 / 0 |
