【问题标题】:Using external storage for Vert.x Session Management使用外部存储进行 Vert.x 会话管理
【发布时间】:2015-12-22 18:54:45
【问题描述】:

Vert.x 内置会话存储 LocalSessionStore 和 ClusteredSessionStoreImpl 使用本地 Maps 来存储会话。如果我使用 Redis 或任何数据存储进行会话管理,我无法直接序列化它们,因为它们没有正确定义的 getter 和 setter。此外, SessionImpl 将 id 作为私有字段,没有设置器。因此,即使我有代理类,我也无法重新创建会话。

那么我如何在外部存储会话?

【问题讨论】:

    标签: java session redis vert.x


    【解决方案1】:

    SessionImpl 实现了 ClusterSerializable 接口,它为您提供了 2 个方法 - writeToBuffer 和 readFromBuffer。 您可以使用它们来序列化/反序列化到 redis 等外部存储。

    【讨论】:

    • 我认为正确的方法是实现 SessionStore,因为 redis 请求需要是异步的。 writeToBuffer 和 readFromBuffer 是同步的,因为它们不提供回调,而且您也没有可用的信息来在低级别做出正确的决策。
    猜你喜欢
    • 2017-12-02
    • 2016-02-07
    • 2012-12-15
    • 2013-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2014-09-21
    相关资源
    最近更新 更多