2015-12-22 41 views
1

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

如何在外部存储会话?

回答

1

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

+0

我认为正确的做法是实施SessionStore,因为redis请求需要是异步的。 writeToBuffer和readFromBuffer是同步的,因为它们不提供回调,而且您也没有可用的信息在低级别做出正确的决定。 – ieugen