【问题标题】:Spring Session without Redis没有 Redis 的 Spring Session
【发布时间】:2016-12-09 17:43:16
【问题描述】:

我想尝试 Spring Session 集成,以便将 Websocket 会话与 http 会话链接。但我还没有准备好完整的 Radis/Hazlecast。我的服务器使用 Tomcat 复制。只有 MapSessionRepository 会做什么? Tomcat 似乎无法复制此会话。

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

【问题讨论】:

    标签: spring tomcat spring-websocket spring-session


    【解决方案1】:

    使用默认构造函数实例化MapSessionRepository 将使用ConcurrentHashMap 来存储会话。这意味着会话存储是当前 JVM 的本地存储。

    这样的配置对于开发/测试目的很有用,但它没有利用 Spring Session 在 JVM 之外存储会话的能力,这是关键特性之一。

    关于 Tomcat 复制,请注意 Spring Session 的核心概念是以容器中立的方式存储会话。

    【讨论】:

      猜你喜欢
      • 2017-01-08
      • 2016-11-29
      • 2021-09-13
      • 2019-02-12
      • 2018-08-28
      • 2021-12-10
      • 2016-07-08
      • 2015-02-23
      • 2017-11-02
      相关资源
      最近更新 更多