Ich arbeite an diesem Problem für 2 Tage jetzt und ich hoffe, dass jeder hier ein ähnliches Problem und eine Lösung dafür hatte.Tomcat eine neue Sitzung für jede Anfrage erstellen
Das Problem: Es ist ein Spring MVC (2.5.6.) Web-Anwendung, die in Tomcat läuft 6. Wenn der Start-Seite angefordert wird, den Kunden zu einer JSP-Seite umleitet (von HTML Meta-Refresh-Tags) welches seinen Inhalt mit vielen Ajax-Anfragen lädt (Framework: Prototype). Das Problem ist, dass Tomcat für jede AJAX-Anfrage eine neue Sitzung erstellt (ca. 67 Sitzungen). Mein erster Gedanke war, dass der Sitzungs-Cookie gespeichert wird, nachdem die Startseite geladen wurde und die Ajax-Anforderungen den Tomcat zwingen, eine neue Sitzung zu erstellen. Mein Ansatz war es, den Session-Cookie per Hand zu erstellen, aber das machte keinen Unterschied. Die lustige Sache ist, dass es in einigen anderen Tomcat-Instanzen funktioniert, aber nicht in der gewünschten Umgebung für die Integrationstests. Meiner Meinung nach ist es ein Tomcat-Konfigurationsproblem.
Nach einer weiteren Untersuchung mit Firebug, fand ich heraus, dass Tomcat eine neue Session erstellt für jede Anforderung, auch wenn das Recht JSESSIONID es übertragen wird (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, um das Problem zu die Tomcat Realm-Konfiguration. Wir verwenden einen JDBC-Realm für die Anmeldung. Wenn die Anmeldung deaktiviert wird, wird nur eine Sitzung erstellt. Wenn es aktiviert ist, erstellt Tomcat ungültige/abgelaufene Sitzungen, deshalb wird bei jeder Anfrage eine neue Sitzung erstellt. Aber warum verhält sich Tomcat so?
Ich bin wirklich verzweifelt, also wird jeder Gedanke/Hinweis/Lösung gut geschätzt.
Vielen Dank
Haben Sie die Lösung erhalten? –