Я использую HttpSession с Tomcat 6. Первый экземпляр Tomcat 6, в котором я развернул свое веб-приложение, имел поведение, которое я ожидал бы для моих сеансов Tomcat (я установил maxInactiveInteval в моем сеансе на 30 минут).
Обновление : я добавил еще один код к следующему, чтобы продемонстрировать, как именно я устанавливаю этот тайм-аут в сеансе
Так я сначала настраиваюсеанс:
session = request.getSession(true);
session.setAttribute(USER_CREDENTIALS, new Credentials(username, password));
session.setMaxInactiveInterval(60*30);
Затем у меня есть перехватчик, который проверяет этот сеанс:
HttpSession session = request.getSession(true);
Credentials cred = (Credentials) session.getAttribute(AuthController.USER_CREDENTIALS);
Кажется, работает нормально в экземпляре Tomcat, с которым я разработал, но в другом экземпляре Tomcat 6,в среде с балансировкой нагрузки maxInactiveInteval, похоже, не соблюдается.
Обновление: Я имею в виду, что сессия пользователя истекает, если пользователь неактивен (новых запросов нет) в течение примерно десяти секунд.
В коде нет другого места, где установлен maxInactiveInteval.Что может быть причиной такого поведения?