我们在群集应用程序中使用此配置:
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,我们真的希望将视图状态保存在安全的地方