Ich muss die HTTP-Sitzung in einer relationalen Datenbank speichern können, um einen statusfreien Lastenausgleich für meine Front-End-Benutzer über mehrere Front-End-Server hinweg durchführen zu können. Wie kann ich das im Frühling 4 erreichen?
Ich sehe, wie man das mit Redis machen kann, aber es scheint keine Dokumentation darüber zu geben, wie man dies mit einer relationalen Datenbank, z.B. Postgres.
Mit Spring Session (es überschreibt transparent HttpSessions von Java EE) können Sie einfach SessionRepository
interface nehmen und es mit Ihrem benutzerdefinierten ex implementieren. %Code%. Es ist leicht zu machen. Wenn Sie Ihre Implementierung haben, fügen Sie einfach manuell (Sie benötigen nicht JdbcSessionRepository
Annotation) Filter für die Filterkette hinzu, wie unten:
Hier sehen Sie, wie @EnableRedisHttpSession
interface aussieht. Es hat nur 4 Methoden zu implementieren. Um das Session-Objekt zu erstellen, können Sie in SessionRepository
und MapSessionRepository
implementation (oder MapSession
und RedisOperationsSessionRepository
) suchen.
Beispiellösung Ссылка
Tags und Links spring spring-mvc spring-security