2013-12-12 2 views
0

Кажется, что подсчет сеанса в реальном времени в тысячах по какой-либо причине кажется, что session.invalidate либо не очищает сеанс, либо поток с низким приоритетом не требует неактивных сеансов.WebSphere HttpSession не признается недействительным

Пожалуйста, смотрите выход Live http session cout.

TIMESTAMP  Server  WAR FILE  Live Count 
=========  ======  ========  ========== 
2013-12-10_00:00 cib_bz_1 WD#K1.war   5253 

В нашем выходе из системы сервлета, мы называем session.invalidate, но это кажется HTTP сессии все еще бытует и не очищаются.

Так что я хотел бы знать:

  • Что может вызвать session.invalidate() не аннулирует сессию? Возможно ли, если какой-либо другой поток ссылается на тот же сеанс, он не будет аннулирован?

  • Что может привести к тому, что поток с низким приоритетом, который работает в Websphere, не приведет к аннулированию и удалению сеанса http?

Я был бы очень признателен за ваш совет.

Благодаря

+0

Возможно ли, что статистика Tivoli PMI является неправильным и не учитывает те сессии, которые были признаны недействительными? – user3017924

ответ

0

Может быть, ваш код создает новый сеанс во время выхода из системы с «request.getSession (правда)», или, может быть, у вас есть какие-то .jsp со следующей строкой:

<% @page session="true" %> 

Это создаст новую сессию Http, если ее не существует. Это одна из «классических причин» для нежелательных сеансов.

Чтобы выявить проблему, разрешите трассировку сеанса. Примените следующую строку трассировки: com.ibm.ws.session. = все: com.ibm.ws.webcontainer = все: com.ibm.wsspi.webcontainer * = все

+0

Привет, Роберт, Спасибо за ответ. Предположим, что это так, но если создаются нежелательные сеансы, все же они будут тайм-аут в какой-то момент и должны быть повторно заявлены WebSphere, нет? Кажется, что счет достигает 30 000, после его перезапуска он возвращается к норме около 100-150 и продолжает увеличиваться почти на 1000 или около того в день. Мы сделали анализ кучи и увидели 1000 сеансов в куче, но большинство из них показало isValid = false, что означает, что оно было признано недействительным, а атрибутыNames и attributeValues ​​равны нулю. – user3017924

+0

Итак, вы должны взять кучу кучи, проанализировать корневые пути GC и попытаться выяснить, какие объекты являются реферерами, т. Е. Держать сеансы в «кучи» «живыми». –

0

Обнаруженные это была ошибка в WebSphere PMI стат

+1

Вот ссылка на описание проблемы http://www-01.ibm.com/support/docview.wss?uid=swg1PM66889 для справки – Gas

Смежные вопросы