不行呀
先不说我已把JBOSS配置到JB中,JB会自动启动它,即使我到控制台启动它,还是老问题。
至于端口,JB EJB测试程序自动生成的端口是1099,我的JBOSS是8080,我更改后也还是不行。
根本问题不在这里呀!应该是JNDI有关的,但该怎么设置呢?请大家帮帮忙,最好一步一步地说明。

解决方案 »

  1.   

    我单步执行了一下,发现是在这一步出现问题的:
    Object ref = context.lookup("Book");at org.jnp.interfaces.NamingContext.discoverServer(NamingContext.java:1280)
    是说没有发现服务器吗?但我明明已把JBOSS配置到JB中,JB应该会启动它的呀。
      

  2.   

    jbuilder2005+jboss+mysql开发EJB的范例 :http://oldblog.blogchina.com/category.178834.html多给些分啊!~
      

  3.   

    呵呵,jbuilder2005+jboss+mysql开发EJB的范例没有,jbuilder2005+weblogic8.1+Oracle开发EJB的范例到是有一大把!
      

  4.   

    自己解决了,原来是我没有把生成的JAR部署到JBOSS中。但新的问题又来了,我建一个CMP 的EntityBean,测试的时候总是出错
    javax.ejb.CreateException: Error checking if entity exists:java.sql.SQLException: Unknown column 'accountId' in 'where clause'
    at org.jboss.ejb.plugins.cmp.jdbc.JDBCInsertPKCreateCommand.beforeInsert(JDBCInsertPKCreateCommand.java:92)
    at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:136)
    at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:572)
    at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:211)-- Failed : create(10000002) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:270)
    at org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:726)
    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 org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1066)
    at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:204)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:215)
    at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:88)
    at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:97)
    at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:61)
    at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:28)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:88)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:317)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:130)
    at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:85)
    at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:121)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
    at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:478)
    at org.jboss.ejb.Container.invoke(Container.java:729)
    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 org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher.java:60)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:82)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:198)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473)
    at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:360)
    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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
    at sun.rmi.transport.Transport$1.run(Transport.java:148)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:534)
    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:133)
    at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
    at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
    at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:163)
    at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:103)
    at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:46)
    at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
    at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:173)
    at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:86)
    at $Proxy0.create(Unknown Source)
    at accounttest.AccountTestClient1.create(AccountTestClient1.java:76)
    at accounttest.AccountTestClient1.main(AccountTestClient1.java:359)
    -- Return value from create(10000002): null.
    Error in setBalance(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.
    Error in setName(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.
    Error in setPassword(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.
    Error in getAccountId(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.
    Error in getBalance(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.
    Error in getName(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.
    Error in getPassword(): Remote interface reference is null.  It must be created by calling one of the Home interface methods first.是JBOSS没有跟数据库连上吗
    在mysql-ds.xml中<driver-class>到底是
    com.mysql.jdbc.Driver
    还是
    org.gjt.mm.Driver
    搜索到的两个说法都有,两个都试了都不行,应该怎么设置呢?
      

  5.   

    EJB QL语法一般是这样的select object(o) from table1 as o where o.accountId = ?1我想你可能在accountId前少加了o
    而且accountId是EJB一属性
    而不是你数据库表的字段名
    如果字段名和属性不一样的话
      

  6.   

    还有,你的EJB可能建成了Remote的了
    其实你只要建成local就行了
    除非要问署到另外的应用服务器上或是特别必要
    不要做remote接口
      

  7.   

    Hehe, Can I ask a private question? Did what they said solve your problem?1): I do not think you use select sentence in your ejb. This error is  created by the jboss itself.2): Remote interface is fine. It does not matter at all.I see the same problem with u. If possible, can you tell me how you sove it ?my email: [email protected]