【发布时间】:2013-07-10 07:05:18
【问题描述】:
我有一个问题,将 EJB 的引用保存为非 EJB 类的成员(在 EJB 中用作静态成员)
说我有
@EJB(...)
@Stateless
public Class SessionBean implements MySession{
protected static MyHelper helper = new MyHelper();
}
public Class MyHelper{
protected AnotherSessionBean ejb = lookup("jndi");
public void doSomething(){
ejb.foo();
}
}
因为辅助类不是 EJB,所以我有一个查找方法,称为 int 成员实例化。 使用此代码,我在运行时遇到异常 java.lang.NoClassDefFoundError: 无法在 SessionBean 类上初始化类。
当我将 MyHelper 更改为此时,它起作用了:
public Class MyHelper{
protected AnotherSessionBean getEjb(){
return (AnotherSessionBean)lookup("jndi");
}
public void doSomething(){
getEjb().foo();
}
}
想知道为什么第一种方法不起作用......
【问题讨论】:
标签: java ejb ejb-3.0 stateless-session-bean session-bean