EJB-инъекция в виде бобов - PullRequest
1 голос
/ 05 мая 2011

У меня много управляемых бинов, и мне было интересно, смогу ли я создать UtilClass, где я поставить мои звонки службы (@EJB). Я уже пробовал это, но у меня есть исключение NullPointerException. Вот так выглядит мой UtilClass и мой управляемый компонент:

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;
  }
}

1 Ответ

1 голос
/ 06 мая 2011

Я бы посоветовал вам сделать следующее, поскольку, очевидно, у вас много служб и вы хотите сгруппировать их вместе, вы можете создать компонент " abstract " и сделать так, чтобы ваш управляемый компонент расширялся Бин " abstract ", таким образом, вы можете получить структурный и безопасный доступ к 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 "";

    }
}

Пожалуйста, обратитесь к FAQ по JavaEE5 EJB , если вам нужно уточнить дополнительные понятия по этому вопросу.

...