|
|
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
есть сервис крутящийся на сервере, у него есть список активных сессий, обращений от клиентов нет, но некоторые сессии необходимо продлить. таких продлений сессии может быть много, продливать надо на небольшое время 1-5 минут. как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 12:31 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
вадя, Самый простой способ не прибивать их. :) Вот как войти в ту же самую сессию это уже второй вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 13:03 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
вадя, HttpSession.setMaxInactiveInterval ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 13:19 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
0FD, А если человеку надо только избранные сессии год хранить, а остальные через сутки прибивать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 14:31 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
0FDвадя, HttpSession.setMaxInactiveInterval только странным образом надо продлять.. if (HttpSession.getLastAccessedTime() - HttpSession.getCreationTime() > (HttpSession.getMaxInactiveInterval() - 5)) { HttpSession.setMaxInactiveInterval(HttpSession.getMaxInactiveInterval() + 5); }[SRC JAVA][/SRC] 5 сек это к примеру. при следующем обращении клиента длительность сессии будет не первоначально требуемая, а уже модифицированная , т.е. большая. Для восстановления длительности сессии при обращении клиента - надо прописывать MaxInactiveInterva первоначальным значением. не всё так просто оказывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 14:37 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 14:38 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
HttpSession.setMaxInactiveInterval - это относится ко всем сессиям или только к выбранной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 14:40 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
вадя, http://grepcode.com/file/repo1.maven.org/maven2/org.apache.tomcat/tomcat-catalina/7.0.42/org/apache/catalina/session/StandardSession.java#StandardSession.isValid() к выбранной, и зачем getCreationTime? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 14:43 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
только я не могу получить доступ к lastAccessedTime... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 15:55 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
вадя Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 16:09 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
HttpSession.getLastAccessedTime() нет такого HttpSession.setLastAccessedTime() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 16:10 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
вадя, да, setLastAccessedTime, нет такого метода, есть только setMaxInactiveInterval, вот и вычисляйте на сколько надо продлить сессию, только не надо использовать getCreationTime - время создания сессии, смотрите алгоритм проверки валидности сессии, должно быть getLastAccessedTime+setMaxInactiveInterval>System.currentTimeMillis иначе сессия закрывается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 16:48 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
почему автортолько не надо использовать getCreationTime etLastAccessedTime+setMaxInactiveInterval>System.currentTimeMillis секунды сравниваем с милисекумдами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 17:45 |
|
||
|
Tomcat 7 программно продлить сеесию
|
|||
|---|---|---|---|
|
#18+
вадяпочему автортолько не надо использовать getCreationTime etLastAccessedTime+setMaxInactiveInterval>System.currentTimeMillis секунды сравниваем с милисекумдами? Потому что getLastAccessedTime и getCreationTime равны при создании сессии, последующие запросы изменяют getLastAccessedTime. Я показал алгоритм(условие), а секунды преобразуете сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2014, 18:05 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38737715&tid=2126645]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
182ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 540ms |

| 0 / 0 |
