Tomcat erstellen einer neuen Sitzung für jede Anforderung

Arbeite ich an diesem problem seit 2 Tagen jetzt und ich bin der Hoffnung, dass jemand hier ein ähnliches problem gehabt und eine Lösung dafür.

Problem:
Es ist ein Spring MVC (2.5.6.) Web-Anwendung, die läuft im Tomcat 6.
Wenn der start-Seite angefordert wird, es leitet den Kunden auf eine JSP-Seite (mit HTML-meta-refresh-tags), die lädt er den Inhalt mit einer Menge von Ajax-Anfragen (Framework: Prototype). Das problem ist, dass Tomcat erstellt eine neue Sitzung für jede AJAX-Anfragen (etwa 67 Sitzungen).
Mein Erster Gedanke war, dass das Session-Cookie gespeichert ist, nachdem die start-Seite geladen wird und die Ajax-Anfragen, die Kräfte der Tomcat eine neue Sitzung zu erstellen. Mein Ansatz war, die session-cookie per hand, aber das machte keinen Unterschied.
Das lustige an der Sache ist, dass es funktioniert in einigen anderen tomcat-Instanzen, aber nicht in die gewünschte Umgebung für die Integrations-tests. Meiner Meinung nach ist es ein Tomcat-Konfiguration Problem.

Nach einer weiteren Untersuchung mit Firebug habe ich herausgefunden, dass Tomcat erzeugt eine neue Session für jede Anfrage, selbst wenn das Recht JSESSIONID übertragen, um es (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

UPDATE: Weitere Untersuchungen isoliert das problem mit dem Tomcat Realm-Konfiguration. Wir verwenden eines JDBC-Realm für den login. Wenn der login ist deativated, nur eine Sitzung erstellt wird.
Wenn es aktiviert ist, Tomcat schafft ungültig/abgelaufen Sitzungen, das ist, warum Sie eine neue Sitzung erstellt wird, mit jeder Anfrage. Aber warum macht Tomcat so zu Verhalten?

Ich bin echt verzweifelt, so dass jeder Gedanke/Tipp/Lösung ist gut geschätzt.

Vielen Dank

  • hast du die Lösung ?
InformationsquelleAutor Fabe | 2010-11-24
Schreibe einen Kommentar