я иметь следующую структуру объекта:EJB Inyection на абстрактном классе
public abstract class RGBusinessLogic {
@EJB
protected RGBeanLocal rgb;
public abstract String foo(String x, String y);
public void bar(){
...some code...
rgb.anyFunction(... some params...);
...some code...
foo(someStringX,someStringY);
... some code...
}
public String bazz(){
... some code...
}
}
@Stateless
public class RGEnqueuerResource extends RGBusinessLogic {
@Override
public String foo(String a,String b){
...some code...
wa = rbg.anyOtherFunction(...some params...);
...some code...
}
}
/** that is a Rest Services **/
@Path("somePath")
@RequestScoped
public class RGEnqueuerResourceRest extends RGEnqueuerResource{
@POST
@Path("fooRest")
public String foo(
@FormParam("paramA") String a,
@FormParam("paramB") String b){
return super.foo(x,y);
}
@POST
@Path("bazzRest")
public String bazz(){
return super.bazz();
}
}
Основная идея заключается в следующем дизайн: У меня есть некоторый код факторизуется на RGBusinessLogic, которые наследуют класс мультипликаторов, а другой ребенок класса реализованного в Abtract код.
Когда я получаю запрос POST на RGEnqueuerResourceRest.foo
, я получаю NullPointerException
на линии
wa = rbg.anyOtherFunction(...some params...);
Похоже rgb
EJB не впрыскивается правильно. Я хотел бы узнать, можете ли вы узнать, что здесь происходит?