还有 EJB 真正BIND 在哪个Name下??

解决方案 »

  1.   

    我runclient出的错是:Caught an exception.
    javax.naming.NameNotFoundException.  Root exception is org.omg.CosNaming.NamingContextPackage.NotF
    und: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
            at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(NotFoundHelper.java:72)
            at org.omg.CosNaming._NamingContextExtStub.resolve(_NamingContextExtStub.java:406)
            at com.sun.jndi.cosnaming.CNCtx.callResolve(CNCtx.java:440)
            at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:492)
            at com.sun.jndi.cosnaming.CNCtx.lookup(CNCtx.java:470)
            at javax.naming.InitialContext.lookup(InitialContext.java:347)
            at com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.java:599)
            at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:90)
            at javax.naming.InitialContext.lookup(InitialContext.java:347)
            at SavingsAccountClient.main(Unknown Source)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:324)
            at com.sun.enterprise.util.Utility.invokeApplicationMain(Utility.java:229)
            at com.sun.enterprise.appclient.Main.main(Main.java:155)
      

  2.   

    在你的部署里,写ejb/SimpleSavingsAccount
      

  3.   

    据我了解,这里的name 应该是在部署描述中<home>的值;刚刚起步,不知道对不对。另外想问一下, new InitialContext();不需要参数的吗???
      

  4.   

    j2ee自身带的server不需要参数,有些其他的服务器需要。name的映射关系可能是这样:code name -> JNDI name -> ejb (code name又称reference name)你检查一下是不是在部署的时候没有设置好。
    j2ee里统一用jndi name查找每一个资源。其中,为了提高程序的灵活性,又允许创建jndi name的别名(code name, reference name),在程序中使用这个别名访问资源,并且由Container处理别名与jndi name的映射关系。