grails flash范围是否适用于多个服务器实例?

时间:2017-03-02 09:25:11

标签: grails spring-session

我们在grails 3应用程序中添加了spring-session,并且flash消息/错误停止显示。看看它看起来它只是一个内存中的Map,虽然我不确定在持久化会话时是否会序列化:

https://github.com/grails/grails-core/blob/master/grails-web-common/src/main/groovy/org/grails/web/servlet/GrailsFlashScope.java#L45

我想知道flash范围是否仅在运行管理会话的单个实例时才有效,或者例如,如果在具有多个实例且没有会话关联的tomcat集群中,闪存范围是否仍然有效?

2 个答案:

答案 0 :(得分:3)

Spring-session目前不允许改变performance reasons的会话对象。但是,您可以使用简单的过滤器自行保留 - 或使用spring-session grails plugin

我个人使用spring-session依赖并从插件中获取HttpSessionSynchronizer过滤器 - 使用它,因为它是使用spring会话使flash工作所需的唯一部分。

答案 1 :(得分:1)

Flash范围是特定于服务器实例的,并且在不使用会话关联的情况下不能与多个服务器实例一起使用。