1 Reply Latest reply on Oct 7, 2004 6:49 AM by schokoladenhase

    JBoss hangs to old remote interfaces....

    schokoladenhase

      Hi everyone...

      I have a Problem redeploying EJBs in JBoss....

      Im deploying a Stateless Session Bean using Eclipse and the myeclipse plugin... (works fine).
      But when i alter the Interfaces or the method signatures in the bean, undeploy the bean and then redeploy it JBoss still says that the method declaration in the Bean would have another signature and therefore is not implementet in the bean.

      E.g.
      I changed the thrown declarations of these methods from RemoteException, HibernateException to RemoteException,Exception (know it sounds stupid, but it happened in other cases to...)
      So the Remote Interface looks like:

      public interface GTCSession extends EJBObject {
      public void runExamples() throws Exception,RemoteException;
      public void save(Object o) throws RemoteException,Exception;
      public void save(ArrayList al) throws RemoteException,Exception;
      public void exportTables() throws RemoteException,Exception;
      public String timecheck() throws RemoteException;

      but still JBOSS says:

      10:17:56,812 WARN [verifier] EJB spec violation:
      Bean : GTCSession
      Method : public abstract void save(ArrayList) throws RemoteException, HibernateException
      Section: 7.10.5
      Warning: All the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the remote interface.

      10:17:56,812 WARN [verifier] EJB spec violation:
      Bean : GTCSession
      Method : public abstract void exportTables() throws RemoteException, HibernateException
      Section: 7.10.5
      Warning: All the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the remote interface.

      10:17:56,843 WARN [verifier] EJB spec violation:
      Bean : GTCSession
      Method : public abstract void runExamples() throws HibernateException, RemoteException
      Section: 7.10.5
      Warning: All the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the remote interface.

      10:17:56,843 WARN [verifier] EJB spec violation:
      Bean : GTCSession
      Method : public abstract User getUserbyLoginPass(String, String) throws RemoteException
      Section: 7.10.5
      Warning: All the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the remote interface.

      10:17:56,843 ERROR [MainDeployer] could not create deployment: file:/C:/work/jboss-4.0.0RC2/server/default/deploy/gtcsession.jar
      org.jboss.deployment.DeploymentException: Verification of Enterprise Beans failed, see above for error messages.
      at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:553)
      ..
      ..
      ..

      I even shuted down jboss, removed the deployment (as well as undeploying it and shutting him down after that), made sure the tmp-dir was empty and restarted him and THEN tried to deploy... same error... Tested with JBoss 3.2.3 and JBoss 4.0 RC2

      Does JBoss hold the interfaces of previously deployed EJBs somewhere else ?

      Thx.

        • 1. Re: JBoss hangs to old remote interfaces....
          schokoladenhase

          Forget it folks....

          As suspected its just my unbelievable dumbness.

          I had a war file in the deploy dir that connects to the sessionbean that had the old remote interfaces in it.

          Now it seems when i deploy the session bean he believes to know the remote interfaces already (from the .war) and doesnt seem to look at the one packaged with the bean.

          Strange but true...