我在AccessStore这个remote interface里抛出了
然后deploy
可还是这个错
如果其他接口要抛出,应该会报别的错的吧
真是不明白了

解决方案 »

  1.   

    请楼主先注意,关于ejb2.0规范:
    两个接口,一个类
    EJBObject 抛出 RemoteException;而EJBHome 抛出CreateException, RemoteException
    至于类就是具体操作了这里一般都以自建异常为佳。我给了你大致的框架,所以楼主,你自己斟酌看看你是否错在哪里
      

  2.   

    多谢楼上大侠回答,可还是有点问题:
    1。 EJBHome(AccessStoreHome)中“出CreateException, RemoteException”没错,这里只是一个Create方法,至于部署失败提示出错的方法不用在这里有吧
    2。 EJBObject里确实有
    public java.util.ArrayList getAllItems(  ) throws java.rmi.RemoteException;
        别的方法也是这么做的,我是每加一个方法部署一次,加别的方法没有出错,只是这个有问题。另外,我是用Eclipse 的 lomboz 插件自动生成在EJBHome等的。
    还望指教12,谢谢
      

  3.   

    可能楼主还没明白我的意思,大致给你个框架:
    作为你的sessionbean 来说(两个接口,一个类)
    其中一个接口:
    //以下就以两个接口:
    1. public interface AccessStoreHome extends EJBHome {
      public AccessStoreFcd create() throws CreateException, RemoteException;
      ...
    }2.public interface AccessStoreFcd extends EJBObject{
      public java.util.ArrayList getAllItems(  ) throws java.rmi.RemoteException;
      ......
    }//一个类:
    public class AccessStoreBean
        implements SessionBean {
      public AccessStoreBean() {
        super();
      }  public void ejbCreate() {}  public void ejbRemove() {}  public void ejbActivate() {}  public void ejbPassivate() {}  public void setSessionContext(SessionContext sc) {}
      //----------------------------method---------------------
      public java.util.ArrayList getAllItems(Collection items) throws EJBException{
      //具体方法
       ....  }
      
    }
      

  4.   

    当然以上还需要通过cmp的JNDI来定位了。
      

  5.   

    我现在的确实和你说的一样啊我贴出来:1。StoreAccessHomepublic interface StoreAccessHome
       extends javax.ejb.EJBHome
    {
       public static final String COMP_NAME="java:comp/env/ejb/StoreAccess";
       public static final String JNDI_NAME="StoreAccessBean";   public test.StoreAccess create()
          throws javax.ejb.CreateException,java.rmi.RemoteException;
          
    }2。StoreAccesspublic interface StoreAccess
       extends javax.ejb.EJBObject
    {   .....................   public java.util.ArrayList getItemBySupplier( java.lang.String supplierID )
          throws java.rmi.RemoteException;   public java.util.ArrayList getAllItems( )
       throws java.rmi.RemoteException;
       
    }3. StoreAccessBeanpublic abstract class StoreAccessBean implements SessionBean {protected SessionContext ctx;public void setSessionContext(javax.ejb.SessionContext ctx) 
    {
    this.ctx = ctx;
    }public void unsetSessionContext() 
    {
    this.ctx = null;
    }/**
     * the ejbCreate method
     * @ejb.create-method 
    **/
    public void ejbCreate () throws  javax.ejb.CreateException{ ....................

    }
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}public java.util.ArrayList getAllItems() throws java.rmi.RemoteException{ 

    System.out.println("Entering StoreAccessBean.getAllItems()");
    ArrayList itemlist  = new ArrayList();

    try {
    .............................. }catch(Exception e){
    System.out.println("Error in StoreAccessBean.getAllItems()"+e);
    }
    System.out.println("Leaving StoreAccessBean.getAllItems()");
     return itemlist; 
    }
    }
    重新部署还是一样的错。
      

  6.   

    我服了
    可能是临时文件的问题
    server\default\tmp\deploy文件夹做什么的啊,为什么启动jboss后要用里面的临时文件?
    我把里面的文件删除,又。,就好了呵呵,结了