请教用jbuilder开发ejb,发布时连数据源的jndi一起发布问题
我用jb9+jboss3开发ejb,在ejb module里面配置好了ejb bean和数据源(oracle)的jndi(jdbc/mydb),测试连接通过(jb上面有按钮),然后发布运行,但是在测试运行到 ds = (DataSource)ctx.lookup("jdbc/mydb");的时候,系统报错:
javax.naming.NameNotFoundException: jdbc not bound
11:58:19,012 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:495)
11:58:19,012 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:503)
11:58:19,012 ERROR [STDERR] at org.jnp.server.NamingServer.getObject(NamingServer.java:509)
11:58:19,012 ERROR [STDERR] at org.jnp.server.NamingServer.lookup(NamingServer.java:253)
11:58:19,106 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:493)
11:58:19,106 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:472)
11:58:19,106 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:347)
11:58:19,106 ERROR [STDERR] at testejb1.Bean1Bean.getDBConn(Bean1Bean.java:89)
11:58:19,106 ERROR [STDERR] at testejb1.Bean1Bean.setEntityContext(Bean1Bean.java:70)
11:58:19,106 ERROR [STDERR] at org.jboss.ejb.EntityEnterpriseContext.<init>(EntityEnterpriseContext.java:76)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.EntityInstancePool.create(EntityInstancePool.java:86)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractInstancePool.get(AbstractInstancePool.java:184)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:79)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:79)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:44)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:111)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:237)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:68)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:105)
11:58:19,137 ERROR [STDERR] at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:133)
11:58:19,153 ERROR [STDERR] at org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:487)
11:58:19,153 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:756)
11:58:19,153 ERROR [STDERR] at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:1058)
11:58:19,153 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
11:58:19,153 ERROR [STDERR] at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:383)
11:58:19,153 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
11:58:19,153 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
11:58:19,184 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:324)
11:58:19,184 ERROR [STDERR] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
11:58:19,184 ERROR [STDERR] at sun.rmi.transport.Transport$1.run(Transport.java:148)
11:58:19,184 ERROR [STDERR] at java.security.AccessController.doPrivileged(Native Method)
11:58:19,184 ERROR [STDERR] at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
11:58:19,184 ERROR [STDERR] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
11:58:19,184 ERROR [STDERR] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
11:58:19,184 ERROR [STDERR] at java.lang.Thread.run(Thread.java:536)
换过了java;/jdbc/mydb也不行,后来将jndi名称改为mydb,用java:/mydb访问也报同样错误。
请问这是为什么?是我配置数据源出了问题,还是发布出了问题,还是访问时出了错呢?