2013-03-14 68 views
0

我正在使用一個@SessionScoped CDI bean,它在數據庫中添加一條新記錄,並觸發一個CDI事件來通知觀察者。CDI事件和a4j:推

在JSF中,我使用a4j:push在事件觸發時渲染組件,並且它按預期工作。

在觸發事件的同一個會話bean中,我也有一個觀察者方法來打印消息,並且這隻適用於觸發事件的會話(瀏覽器)。

所有其他瀏覽器都會在JSF中接收事件(呈現內容並看到新記錄),但不會調用輔助bean中的方法。

從其他文章關於這個問題,我知道延長CDI Observer pattern支持全球事件將工作(http://blog.akquinet.de/2012/02/28/extending-cdi-observer-pattern-to-support-global-events/)。

但是,爲什麼它在JSF方面像預期的那樣工作,而不是在沒有任何修改的支持bean方法方面?

回答

0

這將是因爲他們綁定到同一個會話,其他會話不應該接收不同會話的事件。