Tomcat создает новый сеанс для каждого запроса

Я работаю над этой проблемой уже 2 дня и надеюсь, что у кого-нибудь здесь была аналогичная проблема и решение для это.

Проблема: Это веб-приложение Spring MVC (2.5.6.), Работающее в Tomcat 6. Когда запрашивается стартовая страница, она перенаправляет клиента на страницу JSP (с помощью мета-тегов обновления HTML), которая загружает ее содержимое с большим количеством запросов Ajax (Framework: Prototype). Проблема в том, что Tomcat создает новый сеанс для каждого запроса AJAX (около 67 сеансов). Моя первая мысль заключалась в том, что файл cookie сеанса сохраняется после загрузки начальной страницы, а запросы Ajax заставляют Tomcat создать новый сеанс. Мой подход заключался в создании файла cookie сеанса вручную, но это не имело никакого значения. Забавно то, что он работает в некоторых других экземплярах tomcat, но не в той среде, которая требуется для интеграционных тестов. На мой взгляд, это проблема конфигурации Tomcat.

После дальнейшего исследования с помощью Firebug я обнаружил, что Tomcat создает новый сеанс для каждого запроса, даже если ему передается правильный JSESSIONID (50B5EA0BCFE811C744CE9C1F9EDE0097):

Request Header 1: 
Cookie JSESSIONID=F3206CBF2C961E125821FF22FA31A02D

Response Header 1:
Set-Cookie JSESSIONID=49E000B4D6880F4F94531AB9C78DB667; Path=/JOCA-Music-Portal   JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097; Path=/JOCA-Music-Portal

Request Header 2:
Cookie JSESSIONID=50B5EA0BCFE811C744CE9C1F9EDE0097

Response Header 2:
Set-Cookie JSESSIONID=DCCA2D1B98D11223A6B8855800276E27; Path=/JOCA-Music-Portal

ОБНОВЛЕНИЕ: Дальнейшее исследование изолировал проблему от конфигурации Tomcat Realm. Мы используем область JDBC для входа в систему. Когда вход деактивирован, создается только один сеанс. Если он активирован, Tomcat создает недействительные / просроченные сеансы, поэтому новый сеанс создается с каждым запросом. Но почему Tomcat так себя ведет?

Я в отчаянии, поэтому я приветствую любую мысль / подсказку / решение.

Большое спасибо

8
задан Fabe 26 November 2010 в 14:00
поделиться