为什么我的SessionBean中ejbCreate不能正常调用?
CartClient.java是部署之后执行的客户端程序,BookException是一个简单的Exception,IdVerifier是一个简单的教研程序,这个代码是j2ee_tutorial中的
现在的问题是,我用j2ee1.3.1自带的deploy和j2ee服务器部署以后,ejbCreate(),ejbCreate(String person),ejbCreate(String person,String id)三个方法都不能正常执行,因此抛出空指针错误,这个空指针就是Vector contents,因为contents是在ejbCreate中初始化的。但是CartClient中得到的CartBean实例shoppingCart不是null,对一些简单的(不需要对象初始化的)方法是可以调用成功的
我现在问题就是ejbCreate,ejbCreate(String person),ejbCreate(String person,String id)三个方法,对应CartHome中的三个create,在CartClient中调用的时候,
Context initial = new InitialContext();
Object objref = initial.lookup("java:comp/env/ejb/SimpleCart");
CartHome home = (CartHome) PortableRemoteObject.narrow(objref,CartHome.class);
Cart shoppingCart = home.create("Duke DeEarl", "123");
其中home.create("Duke DeEarl", "123")并没有调用CartBean的ejbCreate(String person,String id)方法,所以一些对象的初始化没有完成
请问,这个问题的症结处在哪里?为什么能常见成功CartBean实例却不能执行ejbCreate(String person,String id)方法实体?
代码很简单,结构也很简单,请各位棒杆帮忙,如果我哪里没有说清楚,请回信告知,我尽量说明白,谢谢
//Cart.java
import java.util.*;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface Cart extends EJBObject {
public void addBook(String title) throws RemoteException;
public void removeBook(String title) throws BookException, RemoteException;
public Vector getContents() throws RemoteException;
}