@ConversationScoped需要@LocalBean吗?

时间:2013-03-13 18:39:59

标签: jsf-2 websphere cdi

我的项目使用的是JSF2.0和WAS8.0。我使用@ConversationScoped CDI bean作为我的页面的支持bean。我对这个bean的原始注释是:

    @Named("myBean")
    @ConversationScoped
    @Stateful

然后在加载页面时,我找到了Property not found错误。似乎EL完全不起作用。然后我添加了@LocalBean(我的支持bean MyBean确实实现了接口,但接口上没有@Local注释):

    @Named("myBean")
    @LocalBean
    @ConversationScoped
    @Stateful

然后一切都很顺利。它是WebSphere中的特定内容吗?或者是CDI的常见要求(我想我已经看过一些既没有@LocalBean也没有实现@Local带注释的接口的例子。

1 个答案:

答案 0 :(得分:1)

对我来说似乎是必要的,也许你看到的其他bean都不是EJB bean:

  

会话bean的无限制bean类型包含all   bean的本地接口及其超接口。如果是会话   bean有一个bean类本地视图,这是一组不受限制的bean类型   包含bean类和所有超类。此外,   java.lang.Object是每个会话bean的bean类型。

     

远程接口不包含在bean类型集中。