2017-03-02 3 views
2

grails 3 앱에 spring-session을 추가했고 플래시 메시지/오류가 표시되지 않았습니다. 을 실행할 때 플래시 범위에서만 작동하는 경우여러 서버 인스턴스에 대해 grails 플래시 범위가 작동합니까?

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

이 궁금 해요 : 세션을 지속 때 직렬화되면 어떻게 모르겠어요하지만, 그것은 단지 메모리지도처럼 보이는 소스를 보면 세션을 관리하는 단일 인스턴스 또는 예를 들어 여러 인스턴스가 있고 세션 연관 관계가없는 Tomcat 클러스터에서 플래시 범위가 여전히 작동한다면?

답변

2

스프링 세션은 현재 performance reasons의 세션 개체 변경을 허용하지 않습니다. 그러나 간단한 필터를 사용하여 직접 유지하거나 spring-session grails plugin을 사용할 수 있습니다.

저는 개인적으로 스프링 세션 의존성을 사용하고 플러그인에서 HttpSessionSynchronizer 필터를 가져옵니다. 스프링 세션으로 플래시 작업을하는 데 필요한 유일한 부분이기 때문에 사용했습니다.

+0

플래시 스코프 전용으로이 작업을 수행 했습니까? 아니면 플래시 메시지를 사용하는 대신이 작업을 제안 했습니까? – brub

+0

플래시 범위가 세션에 있으면 세션 개체가 이전처럼 작동합니다. 성능 저하 (대부분의 경우 무시할 수 있음). – erichelgeson

+0

분명히 나는 ​​여전히 스프링 세션을 사용한다. 필터를 추가하면 예상대로 동작한다. – erichelgeson

1

플래시 범위는 서버 인스턴스별로 지정되며 세션 선호도를 사용하지 않고 여러 서버 인스턴스에서 작동하지 않습니다.