2014-03-06 8 views
0

IceFaces 3.3에서 창 범위를 사용할 때 이상한 문제가 발생합니다. 디버거 구문을 생성자와 파괴 메소드 (파괴 전 주석 사용)에 넣을 때 단일 사용자가 페이지를 탐색 할 때 동일한 bean이 작성되고 파괴되어 다시 생성됩니다. 나는 Tomcat 서버의 액세스 로그를 검사했고 사용자가 IE8과 같은 호환 브라우저를 사용 중이며 페이지 사이를 탐색하는 것 외에는 새로운 탭을 열지 않는다는 것을 보여줍니다.IceFaces 일부 브라우저에서 창 범위가 제대로 작동하지 않습니다.

창 범위 콩의 수명주기는 얼마입니까? 윈도우 스코프 빈을 파기하는 것은 무엇입니까?

이 문제는 동일한 브라우저에서 일관되게 발생하지 않습니다. 일부 사용자는 IE8을 사용하지만 다른 사용자는 사용하지 않습니다. 그러나 bean이 재 작성되는 대부분의 경우는 사용자가 일종의 프록시를 사용하지 않는 경우입니다. 프록시가 그런 행동을 일으키겠습니까? 그러나 다시 사용자 세션이 유효하게 유지된다. 즉, 사용자의 이름 등을 추적하는 세션은 페이지 들간에 동일하게 유지된다.

이 동작을 어떻게 해결할 수 있습니까? 창 범위가 신뢰할 수 있습니까?

답변

0

예, 신뢰할 수없고 아마도 창 범위 지정의 목적을 수행하지 않습니다. 사전 정의 된 빙판이 아닌 사용자 정의 범위를 구현해야합니다. #{window}. org.icefaces.application.WindowScopeManager 클래스는 동작을 보는 이유에 대한 몇 가지 힌트를 제공해야합니다.