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