2016-08-03 6 views
0

Я хотел попробовать провести интеграцию Spring Session, чтобы связать сеанс Websocket с сеансом http. Но я еще не готов идти полным ходом Radis/Hazlecast. Мой сервер использует репликацию Tomcat. Что будет делать только MapSessionRepository? Похоже, что Tomcat не смог воспроизвести этот сеанс.Весенняя сессия без Redis

@EnableSpringHttpSession 
... 
@Override 
protected Filter[] getServletFilters() { 
    return new Filter[] { new DelegatingFilterProxy("springSessionRepositoryFilter")}; 
} 
... 
@Bean 
public SessionRepository<ExpiringSession> sessionRepository() { 
    return new MapSessionRepository(); 
} 

ответ

0

Инстанцирование MapSessionRepository используя конструктор по умолчанию будет использовать ConcurrentHashMap для хранения сессий. Это означает, что хранилище сеансов является локальным для вашей текущей JVM.

Такая конфигурация может быть полезна для целей разработки/тестирования, но она не использует преимущества Spring Session для хранения сеансов вне JVM, которая является одной из ключевых функций.

Что касается репликации Tomcat, обратите внимание, что основная концепция Spring Session - хранить сеансы в нейтральном контейнере.