lookup的问题,看了很多帖子,还是不能解决,初学者,郁闷中

binny 2003-08-08 03:50:48
接口HelloHome.class

jar的名字Hello.jar

ejb-jar.xml中的部分
……
<ejb-jar>
<display-name>HelloBean</display-name>
<enterprise-beans>
<session>
<display-name>Hello</display-name>
<ejb-name>Hello</ejb-name>
<home>HelloHome</home>
<remote>Hello</remote>
<ejb-class>HelloEJB</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
……

weblogic-ejb-jar.xml中的部分

<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>Hello</ejb-name>
<stateless-session-descriptor>
<pool>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
</pool>
</stateless-session-descriptor>
<jndi-name>Hello</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>

HelloServlet.java中
Object objRef = ctx.lookup("Hello");

显示的错误信息
Naming Exception caught:javax.naming.NameNotFoundException: Unable to resolve 'Hello' Resolved: '' Unresolved:'Hello' ; remaining name 'Hello' javax.naming.NameNotFoundException: Unable to resolve 'Hello' Resolved: '' Unresolved:'Hello' ; remaining name 'Hello' <>

出这样的问题可能的原因是什么?有没有比较全面的介绍jndi的文档
...全文
54 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
awfe 2003-08-27
  • 打赏
  • 举报
回复
Up
rekcah_ph 2003-08-15
  • 打赏
  • 举报
回复
Naming Exception caught:javax.naming.NameNotFoundException
从出错信息上看,是JNDI树上没有这个节点。
你可以看看那个server的JNDI树。然后看看,名字是不是打错了。
yfh0919 2003-08-09
  • 打赏
  • 举报
回复
你客户端 是不是 也在那个ejb容器中阿,如果没有 要定位ejb容器,这么定为就是实例化context得过程 日如:
Hashtable prop = new Hashtable();
prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
prop.put(Context.PROVIDER_URL, "t3://localhost:7001");
ctx = new InitialContext(prop);
vigorlee3 2003-08-09
  • 打赏
  • 举报
回复
up
teva 2003-08-08
  • 打赏
  • 举报
回复
天哪,为啥不用IDE?
hessian 2003-08-08
  • 打赏
  • 举报
回复
To Morgan_ma(单翼天使):
请注意看那个Exception,是JNDI在查找的时候有问题.:)

To 楼主:
在Servlet中查找EJB要用<ejb-ref>在web.xml中的<web-app>内说明一下.例如:
<ejb-ref>
<ejb-ref-name>ejb/test/Hello</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>test.interfaces.HelloHome</home>
<remote>test.interfaces.Hello</remote>
</ejb-ref>
然后用ejb/test/Hello查找.
Morgan_ma 2003-08-08
  • 打赏
  • 举报
回复
我的意思是你在客户端程序中有没有import你的hello工程的包?如果没有,那"hello"当然不能找到。。。
binny 2003-08-08
  • 打赏
  • 举报
回复
TO:Morgan_ma(单翼天使)
还要加入classpath吗?我的java文件都没写包,classpath里面有“.”,估计不用加了吧

TO:pauljan(破剑)
web.xml里面加什么给个例子好吗?谢谢

TO:rady88(猫)
HelloHome.class还是Hello.class难道不只是个名字吗,你的意思是说这个名字要和<ejb-name>和<jndi-name>里的名字相同是吗
rady88 2003-08-08
  • 打赏
  • 举报
回复
接口是Hello.class
不是HelloHome.class

pauljan 2003-08-08
  • 打赏
  • 举报
回复
在web-inf里的web.xml也加进去
Morgan_ma 2003-08-08
  • 打赏
  • 举报
回复
你在客户端测试的时候有没有加入hello的classpath?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧