运行Stateless,Remote EJB时候报javax.naming.NameNotFoundException: FirstEjbBean not bound

remain5000 2008-09-11 07:47:37
1.环境:
myeclipse6.0+jboss-4.2.2.GA
2.jboss可以正常启动和关闭
3.我已经把%JBOSS_HOME%\client\*Jar加到客户端类中。
遇到问题:

javax.naming.NameNotFoundException: FirstEjbBean not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:126)
at org.jnp.server.NamingServer_Stub.lookup(Unknown Source)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.mxf.ejb.FirstEjbClient.main(FirstEjbClient.java:22)

4.我的代码如下:
--接口
package com.mxf.ejb;
public interface FirstEjb {
public String sayHello(String str);
}

--接口实现Bean
package com.mxf.ejb;
import javax.ejb.Remote;
import javax.ejb.Stateless;
@Remote
@Stateless
public class FirstEjbBean implements FirstEjb {
public String sayHello(String str) {
return "您好!"+str;
}
}

--客户端
package com.mxf.ejb;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class FirstEjbClient {
public static void main(String[] args) {
try {
InitialContext itx = new InitialContext();
FirstEjb firstEjb = (FirstEjb)itx.lookup("FirstEjbBean/remote"); ---执行到这里报错
String str=firstEjb.sayHello("remain");
System.out.println(str);
} catch (NamingException e) {
e.printStackTrace();
}
}
}

...全文
1453 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我用spring和jboss集成的,用spring管理jndi的查找的时候就报错,。。。。。找了一天了还没有解决。。。。。。
zljaabbcc2 2011-12-22
  • 打赏
  • 举报
回复
换jboss5就可以了,jboss4支持的是jdk1.5的
月上西楼 2011-12-08
  • 打赏
  • 举报
回复
重新发布一下
shamozhihu25 2011-08-26
  • 打赏
  • 举报
回复
我只知道 跟客户端无关
jboss启动时Console里没有这样一条信息
STARTED EJB:*.*.FirstEjbBean ejbName:FirstEjbBean (你的服务bean)
这是EJB发布成功的标志,显然你没有发不成功,才报not bound错误
zhaosanchang 2011-03-20
  • 打赏
  • 举报
回复
请高人指点啊??我的第一个EJB3.0程序就是抱着个错误
余军8788 2010-12-10
  • 打赏
  • 举报
回复
解决了没
junlianxin118 2010-03-17
  • 打赏
  • 举报
回复
我也遇到同样的问题!就是把服务端和客户端都部署到JBoss中了! 但是启动时就报!

07:13:00,750 ERROR [STDERR] javax.naming.NameNotFoundException: OhterBean not bound
07:13:00,750 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
07:13:00,750 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
07:13:00,750 ERROR [STDERR] at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
07:13:00,750 ERROR [STDERR] at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
07:13:00,750 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
07:13:00,750 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
07:13:00,751 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:392)
07:13:00,751 ERROR [STDERR] at org.newer.ejb3.impl.HelloWorldBean.other1(HelloWorldBean.java:41)
07:13:00,751 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

单独在客户端运行main方法没问题!
sbe_steels 2008-10-30
  • 打赏
  • 举报
回复
@Remote
@Stateless
这里要明确指定。
@Remote(FirstEjb.class)
@Stateless(FirstEjb.class)
sszhangy 2008-09-15
  • 打赏
  • 举报
回复
用main函数应该不可以吧,做成web应用,放到jboss里就好了。
remain5000 2008-09-11
  • 打赏
  • 举报
回复
help一下,刚接触ejb。google了一天无果。
请各位大虾不吝赐教。谢谢!

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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