Session Bean 接口问题,高手请进
不在WEBLOGIC 7 中,我做一个Sample,关于一个表的ADD,DELETE
我用JSP CALL Servlet,Servlet 去lookup SessionBean ,然后用SessionBean 去lookup EntityBean;将EJB,和JSP分开发布,为什么当SessionBean 是Remote接口时,可以正确运行,而Local接口时,不可以?(XML配制文件也跟着变化),还有其他要注意的吗?
以下是Servlet的getManagerHome()程序片段:
......
String url = "t3://127.0.0.1:7001";
Properties properties= new Properties();
String jndiHomeName ="ejb/Manager";(在weblogic-ejb-jar.xml)
properties.put(ontext.INITIAL_CONTEXT_FACTORY , "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL , url);
Context ic =new InitialContext(properties);
ManagerLocalHome home = (ManagerLocalHome) ic.lookup(jndiHomeName);
..........
错误是:javax.naming.NameNotFoundException:
问题点数:100、回复次数:3Top
1 楼feifeisf(自由的猪)回复于 2003-05-03 14:16:11 得分 10
你是用JBUILDER 吧
LocalHome 和RemoteHome 不是一样的JNDI名
你看看你的LocalHome的JNDI名吧Top
2 楼getwill(getwill)回复于 2003-05-03 14:26:16 得分 10
将可能是这样的:将ejb/Manager 改为manager
对了将二个xml文件贴出来我看看Top
3 楼javalovers(飞飞)回复于 2003-05-03 16:15:59 得分 80
呵呵,你犯了一个本质的错误
如果servlet、jsp等客户端想通过Local接口调用EJB时,他们必须在同一个jvm中,即必须在一个ear中
所以搂主所要做的就是把你的所有代码都打包入同一个ear中
具体可以参考EJB规范Top




