没有见过单用 java:comp, 一般都是 java:comp/env更多的时候是用在请求本地jndi的时候,"java:comp/env/your_local_jndiName",而你实际上只是发布了  <local-jndi-name>your_local_jndiName</local-jndi-name>,主要是因为一个jndi没有类似于unix文件系统的/,用 java:comp/env来指向当前上下文环境的根。remote是不被允许的。更多解释,请楼下补充。

解决方案 »

  1.   

    稍后贴出一些关于sun公司介绍关于:EJBHomeFactory和factory结合的代码例子给大家!
      

  2.   

    我在weblogic里设的数据源名是DataSrc,为什么不用java:comp/env/DataSrc
    就直接能拿到数据连接? 
    ds=(DataSource)ctx.lookup("DataSrc");
      

  3.   

    我只知道在jbuilder里的env可以添加一些参数
    resorceRef里面添加DataSource ->服务器的DataSource
      

  4.   

    如果您把同一个 J2EE 应用程序部署到多个应用程序服务器上,而这些应用程序服务器共享一个 JNDI 名称空间,那么,由于名称空间中的 JNDI 名称必须是唯一的,这样做将会出现问题。部署到 WebSphere Application Server 环境中的 J2EE 应用程序,应该使用 java:comp/env 环境命名上下文(environment naming context(ENC))来查找 EJB,而不是使用 JNDI 名称来查找。有了这个命名上下文,就可以避免发生冲突,应用程序的可移植性也将好得多。