CDI事件和a4j:推

时间:2013-03-14 13:08:32

标签: events jsf-2 cdi

我正在使用@SessionScoped CDI bean在数据库中添加新记录并触发CDI事件以通知观察者。

在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方法方面?

1 个答案:

答案 0 :(得分:0)

那是因为他们被绑定到同一个会话,其他会话不应该接收不同会话的事件。