JavaEE 6:@EJB(beanInterface =“”)

时间:2011-10-05 19:18:25

标签: annotations ejb-3.0 java-ee-6

有人可以帮我理解在JavaEE 6中使用beanInterface注释的@EJB参数吗?

我有一种情况,我有一个EJB,我希望它也可以在本地和远程访问。

我有一个MyBaseInterface,然后MyEJBLocalInterfaceMyEJBRemoteInterface都延伸MyBaseInterface。现在我MyEJB正在实施MyEJBLocalInterfaceMyEJBRemoteInterface

现在我遇到的情况是我只想在本地访问MyEJB

我可以通过以下方式实现相同的目标吗?

@EJB(beanInterface=MyEJBLocalInterface.class)
private MyBaseInterface instanceOfLocallyAccessedMyEJB;

有人可以帮我理解beanInterface属性的@EJB参数的使用吗?

感谢。

1 个答案:

答案 0 :(得分:5)

@EJB注释的beanInterface属性用于不同的目的,具体取决于您使用的EJB版本:

  • 在EJB 3.X中,您可以使用它来指定是否要使用您所引用的EJB的本地引用远程,这是您的情况。
  • 在EJB 2.X中,它用于指定会话/实体bean的Home / LocalHome接口

总结一下,是的。您应该能够使用它来注入所需的界面。

但旧版本的JBoss可能不支持此功能。