管理豆 EJB 注入



我有很多托管的豆子,想知道我是否可以创建一个 UtilClass,其中放置我的服务呼叫 (@EJB)。我已经尝试过了,但我有一个空指针异常。这是我的 UtilClass 和我的托管 bean 的样子:

public class UtilClass{
@EJB
private static MyFirstEjbLocal myFirstService;
@EJB
private static  MySecondEjbLocal mySecondService;
//other services
//getters
 }

public class MyManagedBean{
   public String myMethod(){
   UtilClass.getMyFirstService.doSomethingInDB();
   return null;
  }
}

我建议您执行以下操作,因为显然您有很多服务并希望将它们组合在一起,您可以创建一个"抽象"Bean 并使您的托管 Bean 扩展这样的"抽象"bean,通过这种方式您可以以结构化和安全的方式访问 EJB,以下代码将解释我的意思:

public class MyAbstractBean{
  @EJB
  protected MyFirstEjbLocal myFirstService;
  @EJB
  protected  MySecondEjbLocal mySecondService;
  // All your other EJB's here
  ...
  // All other variables and methods you could need
}

public class MyManagedBean
   extends MyAbstractBean{
    public String myMethod1(){
      myFirstService.doSomethingInDB();
      return "";
    }
    public String myMethod2(){
      mySecondService.doSomethingInDB();
      return "";
    }
}

如果您需要澄清有关此问题的更多概念,请参阅 JavaEE5 EJB FAQ。

相关内容

  • 没有找到相关文章

最新更新