2013-03-14 2 views
0

데이터베이스에 새 레코드를 추가하고 관찰자에게 알리기 위해 CDI 이벤트를 발생시키는 @SessionScoped CDI 빈을 사용하고 있습니다.CDI 이벤트 및 a4j : push

JSF에서는 이벤트가 발생했을 때 a4j:push을 사용하여 구성 요소를 렌더링하고 예상대로 작동합니다.

이벤트를 발생시키는 동일한 세션 빈에서 메시지를 인쇄하는 옵저버 (observer) 메소드가 있으며 이는 이벤트를 발생시킨 세션 (브라우저)에서만 작동합니다.

다른 모든 브라우저는 JSF에서 이벤트를 수신하지만 (컨텐츠가 렌더링되고 새 레코드가 표시됨) iplocks에서 메소드가 호출되지 않습니다.

이 문제에 대한 다른 게시물에서 글로벌 이벤트를 지원하기 위해 CDI Observer pattern을 확장하면 (http://blog.akquinet.de/2012/02/28/extending-cdi-observer-pattern-to-support-global-events/) 작동한다는 것을 알고 있습니다.

하지만 JSF 측에서 예상대로 작동하고 수정없이 백킹 빈 메서드 측에서 작동하지 않는 이유는 무엇입니까?

답변

0

같은 세션에 바인딩되어 있기 때문에 다른 세션에서 다른 세션에 대한 이벤트를 수신해서는 안됩니다.