我们在集群应用程序中使用此配置:
glassfish-web.xml :
<session-config>
<session-manager persistence-type="replicated">
<manager-properties>
<property name="persistenceFrequency" value="web-method" />
<property name="relaxCacheVersionSemantics" value="true" />
</manager-properties>
<store-properties>
<property name="persistenceScope" value="session" />
</store-properties>
</session-manager>
<session-properties />
<cookie-properties />
</session-config>
会话由 Glassfish 存储和复制,问题是如果集群出现问题并且需要重新启动,我们将丢失所有 Session 和 ViewState 数据。
有没有办法插入像 memcached 或 mysql 这样的外部存储来存储 Session 和 ViewState 信息,以确保我们永远不会丢失我们的客户端数据?
PS:我们广泛使用@ManagedBean @ViewScoped,我们真的希望将视图状态保持在安全的地方