Jboss中 javax.naming.NameNotFoundException: FirstEjbBean not bound刚学Jboss用的是Myeclipse,运行Jboss客户端是出现此异常,请问是我程序错了还是Jboss安的不对啊? 
jndi.properties 
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory 
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces 
java.naming.provider.url=localhost 
客户端程序: 
package com.qqq.ejb; import javax.naming.InitialContext; public class FirstEjbClient { 
public static void main(String args[]) throws Exception { 
InitialContext context = new InitialContext(); 
FirstEjb firstEjb = (FirstEjb) context.lookup("FirstEjbBean/remote"); 
String s = firstEjb.saySome("张三"); 
System.out.println(s); } 

服务端程序: 
package com.qqq.ejb; public interface FirstEjb { 
public String saySome(String name); 
} package com.qqq.ejb; import javax.ejb.Remote; 
import javax.ejb.Stateless; @Stateless 
@Remote 
public class FirstEjbBean implements FirstEjb { public String saySome(String name) { return "你好"+name; 
} }我用的是MyEclipse5.5,jboss4.0.5版本,在客户端已经把/jbosshome/client/中的所有jar包都拷到项目的类路径里,在运行客户端程序时老是显示
 javax.naming.NameNotFoundException: FirstEjbBean not bound,还有部署ejb时,console没有相应的输出?不知道是什么原因?请高手指教一下!

解决方案 »

  1.   

    jndi配了FirstEjbBean/remote这个的吗?
      

  2.   

    部署好了EJB后, 检查在应用服务器的JNDI View的下能否查到你发布的EJB.如果客户端与EJB不在同一个JVM,就要设置InitialContext,不同的应用服务器InitialContext写法也不同.
    Context.INITIAL_CONTEXT_FACTORY:指定到目录服务的连接工厂
    Context.PROVIDER_URL:目录服务提供者URL例如JBOSS
    Properties props = new Properties(); 
    props.setProperty("java.naming.factory.initial",
    "org.jnp.interfaces.NamingContextFactory");
    props.setProperty("java.naming.provider.url", "localhost:1099");
    props.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");InitialContext context = new InitialContext(props); 
      

  3.   

    端口没配置
    java.naming.provider.url=localhost:1099
      

  4.   

    javax.naming.NameNotFoundException: FirstEjbBean not bound
    字面意思是  这个bean没有被绑定?
      

  5.   

    1.看下你的jndi是否应用的和配置的一致
    2.可以考虑把所使用到的第三方jar解压后一起打成一个新的jar包
      

  6.   

    现在我的问题解决了
    FirstEjbBean没有打了Jar包或者客户端没有加入这个Jar包
      

  7.   

    建议LZ版本升级:
    1. http://blog.csdn.net/pathuang68/archive/2009/04/19/4091645.aspx
    2. http://blog.csdn.net/pathuang68/archive/2009/04/12/4066889.aspx
      

  8.   

    呵呵,最近也在搞这个,ejb最好配合ant使用,免的修改又要打成jar包,又放到jboss的..deploy下.
      

  9.   

    Java 深度探索者 QQ群:65670864
      

  10.   

    localhost 
    这个后面要加端口号
    localhost:1099
      

  11.   

    我也遇到同样的问题,把版本改成JBoss-4.2.3以后就不会出现这个问题了!
      

  12.   

    注解没加类名,localhost:+jboss端口