powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat 7 программно продлить сеесию
14 сообщений из 14, страница 1 из 1
Tomcat 7 программно продлить сеесию
    #38737346
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть сервис крутящийся на сервере, у него есть список активных сессий, обращений от клиентов нет, но некоторые сессии необходимо продлить. таких продлений сессии может быть много, продливать надо на небольшое время 1-5 минут.
как это сделать?
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737408
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Самый простой способ не прибивать их. :)
Вот как войти в ту же самую сессию это уже второй вопрос.
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737437
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

HttpSession.setMaxInactiveInterval
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737572
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0FD,

А если человеку надо только избранные сессии год хранить, а остальные через сутки прибивать?
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737583
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0FDвадя,

HttpSession.setMaxInactiveInterval
только странным образом надо продлять..
if (HttpSession.getLastAccessedTime() - HttpSession.getCreationTime() > (HttpSession.getMaxInactiveInterval() - 5)) {
HttpSession.setMaxInactiveInterval(HttpSession.getMaxInactiveInterval() + 5);
}[SRC JAVA][/SRC]
5 сек это к примеру.
при следующем обращении клиента длительность сессии будет не первоначально требуемая, а уже модифицированная , т.е. большая. Для восстановления длительности сессии при обращении клиента - надо прописывать MaxInactiveInterva первоначальным значением.
не всё так просто оказывается
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737586
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
if (HttpSession.getLastAccessedTime() - HttpSession.getCreationTime() > (HttpSession.getMaxInactiveInterval() - 5)) {
HttpSession.setMaxInactiveInterval(HttpSession.getMaxInactiveInterval() + 5);
}
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737588
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HttpSession.setMaxInactiveInterval - это относится ко всем сессиям или только к выбранной?
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737596
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737715
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
только я не могу получить доступ к lastAccessedTime...
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737738
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Код: java
1.
2.
3.
if (>>HttpSession.getLastAccessedTime()<< - HttpSession.getCreationTime() > (HttpSession.getMaxInactiveInterval() - 5)) {
HttpSession.setMaxInactiveInterval(HttpSession.getMaxInactiveInterval() + 5);
}
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737742
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HttpSession.getLastAccessedTime()
нет такого
HttpSession.setLastAccessedTime()
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737794
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

да, setLastAccessedTime, нет такого метода, есть только setMaxInactiveInterval, вот и вычисляйте на сколько надо продлить сессию, только не надо использовать getCreationTime - время создания сессии, смотрите алгоритм проверки валидности сессии, должно быть
getLastAccessedTime+setMaxInactiveInterval>System.currentTimeMillis иначе сессия закрывается.
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737847
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему автортолько не надо использовать getCreationTime

etLastAccessedTime+setMaxInactiveInterval>System.currentTimeMillis
секунды сравниваем с милисекумдами?
...
Рейтинг: 0 / 0
Tomcat 7 программно продлить сеесию
    #38737866
0FD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяпочему автортолько не надо использовать getCreationTime

etLastAccessedTime+setMaxInactiveInterval>System.currentTimeMillis
секунды сравниваем с милисекумдами?

Потому что getLastAccessedTime и getCreationTime равны при создании сессии, последующие запросы изменяют getLastAccessedTime.
Я показал алгоритм(условие), а секунды преобразуете сами.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat 7 программно продлить сеесию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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