Java 抽象类上的EJB操作
我有以下对象结构:Java 抽象类上的EJB操作,java,ejb,abstract-class,Java,Ejb,Abstract Class,我有以下对象结构: 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...); ...som
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上分解的代码,这些代码继承multiples类,另一个子类实现了abtract代码
当我在rgenqueueerresourcerest.foo
上收到POST请求时,我在第行得到一个NullPointerException
wa = rbg.anyOtherFunction(...some params...);
看起来,
rgb
EJB没有正确注入。我想知道您是否能了解这里发生了什么?我猜您正在使用Java EE 6。。。
RGEnqueuerResourceRest不是会话bean,因此不会注入RGBeanLocal EJB。最简单的解决方案是用@Stateless注释rgenqueueerresourcerest,这样bean将由容器管理,EJB注入将起作用