有人可以帮助我了解JavaEE 6中beanInterface批注的@EJB参数的使用吗?

我遇到的情况是我有一个EJB,并且我希望它也可以在本地和远程访问。

我有一个MyBaseInterface,然后是MyEJBLocalInterfaceMyEJBRemoteInterface都扩展了MyBaseInterface。现在我有了MyEJB,它同时实现了MyEJBLocalInterfaceMyEJBRemoteInterface

现在,我只想在本地访问MyEJB

我可以通过以下方法达到相同的目的吗?

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

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

谢谢。

最佳答案

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

  • 在EJB 3.X中,您可以使用它来指定是否要使用所引用EJB的本地引用的远程方式。
  • 在EJB 2.X中,它用于指定 session /实体Bean的Home/LocalHome接口(interface)

  • 综上所述,是的。您应该能够使用它注入(inject)所需的接口(interface)。

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

    关于annotations - JavaEE 6 : @EJB(beanInterface =“” ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7666480/

    10-09 06:45