Я запускаю веб-приложение J2EE в Tomcat, и недавно мне было поручено добавить метрики в приложение. Я использую SessionListener для определения, когда сеанс уничтожен, а затем загружаю метрики в базу данных. Время ожидания моего сеанса установлено в моем файле web.xml на 30 минут, и я нигде не отменяю сеанс программно. Часто в течение 1–5–10-минутного периода моего входа в систему для тестирования я вижу 3 или 4 набора показателей, загруженных в базу данных, все с разными идентификаторами сеансов.
Помимо web.xml и session.invalidate (), что еще может привести к разрушению сеанса в Tomcat? Исключения? Будет ли Tomcat когда-нибудь случайно аннулировать сессии?