簡體   English   中英

托管bean EJB注入

[英]managed bean EJB injection

我有很多托管bean,想知道是否可以創建UtilClass來放置服務調用(@EJB)。 我已經嘗試過了,但是我遇到了NullPointerException。 這就是我的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM