Statless SessionBean的成员变量问题。
在该Bean的ejbPostCreate的方法里面将其私有临时成员变量初始化。
private transient ConnManager cm;
public void ejbPostCreate(String aName, String aRootUrl)
throws CreateException {
try{
//ConnManager为一个连接管理器
ConnManager cm=new ConnManager();
}catch(javax.naming.NamingException ex)
{
throw new CreateException();
}
}
public getData(){
try{
Connection conn = cm.getConnection;
//这句会报错:NullPointerException
//是cm变量没有被初始化,也就是ejbPostCreate函数没有执行
//技术规范里面说,无状态的SessionBean可以有不和任何客户状态相关的成员变量,我这个ConnManager就是一个连接的缓冲管理器,没有和客户状态相关:(
}catch(...){
}
}
哪位知道原因?愿意深入讨论~~~