JavaEE 6:@EJB(beanInterface ="")

ski*_*kip 6 annotations ejb-3.0 java-ee-6

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

我有一种情况,我有一个EJB,我希望它本地和远程访问.

我有一个MyBaseInterface然后两个MyEJBLocalInterface并且MyEJBRemoteInterface延伸MyBaseInterface.现在我有MyEJB这两种实现MyEJBLocalInterfaceMyEJBRemoteInterface.

现在我有一种情况,我只想在MyEJB本地访问.

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

@EJB(beanInterface=MyEJBLocalInterface.class)
private MyBaseInterface instanceOfLocallyAccessedMyEJB;
Run Code Online (Sandbox Code Playgroud)

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

谢谢.

Gon*_*gui 5

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

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

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

但是,旧版本的JBoss可能不支持此功能.