【问题标题】:Spring Session with Hazelcast 4Hazelcast 4 春季会议
【发布时间】:2020-02-19 15:15:40
【问题描述】:

我正在尝试在我们的 Spring Boot 2.2.1 应用程序中升级到 Hazelcast 4.0。 我们使用@EnableHazelcastHttpSession 注释,它拉入HazelcastHttpSessionConfiguration,它从spring-session-hazelcast jar 拉入HazelcastIndexedSessionRepository。 但是,这个类不会编译,因为它导入了 Hazelcast 的 IMap,它已在 Hz 4.0 中移动到不同的包中。

有没有办法解决这个问题,以便 Spring Session 与 Hazelcast 4 一起使用?

【问题讨论】:

  • 我不认为它受支持。我提出了一个 github 问题。 github.com/spring-projects/spring-session/issues/1584你要投稿吗?我可以在审核过程中为您提供帮助。
  • 健康检查也存在类似问题(因为 Endpoint 已移至新包)。我可以通过将 Spring 的 HazelcastHealthIndicator 复制到我自己的源代码树中来修复它。
  • 尽管@Mesut 创建的票证已解决 spring-session-hazelcast 2.3.1.RELEASE (这是目前的最新版本),但 Hazelcast 4.x 仍然出现相同的错误。

标签: hazelcast spring-session


【解决方案1】:

我刚刚将 HazelcastIndexedSessionRepository 复制到我自己的源代码中,将导入从 com.hazelcast.core.IMap 更改为 com.hazelcast.map.IMap,并将 sessionListenerId 从 String 交换为 UUID。如果我将它保存在同一个包中,那么它会加载我的类而不是 jar 中的类,并且一切都可以编译并正常工作。

编辑:我们不再收到 SessionExpiredEvent,所以有些地方不太对劲,但手动测试显示我们的会话确实超时并强制用户重新登录,即使跨多个服务器也是如此。

【讨论】:

    猜你喜欢
    • 2018-11-30
    • 2015-04-11
    • 2011-12-31
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多