1 Reply Latest reply on Mar 7, 2011 10:47 AM by Arnie Morein

    Working Seam app on JAS 4.3 fails on 5.1

    Arnie Morein Newbie

      I have a Seam 2.2.1.CR1 app that works fine on JBoss EPP 4.3.0. When I port and recompile it over to EPP 5.1, which uses Seam 2.2.2.EAP5, the code that is started as part of org.jboss.seam.postInitialization fails because another Seam SLSB that acts as an EJB wrapper cannot be created - because its related EJB name is not bound.


      But a few lines up in the log it shows the EJB being deployed successfully.


      installing bean: jboss.j2ee:ear=ade-ear-1.0.0.ear,jar=ade-ejb.jar,name=EjbDaoFacadeImpl,service=EJB3
        with dependencies:
        and demands:
           jndi:us.tx.state.oag.ade.dao.infoDeletedKeyDAO
           jboss.ejb:service=EJBTimerService
           jndi:us.tx.state.oag.ade.dao.codeEncryptionTypeDAO
           jndi:us.tx.state.oag.ade.dao.infoEncryptionKeyDAO
           jndi:us.tx.state.oag.seam.dao.sysParameterDAO
           jndi:us.tx.state.oag.appmaster.dao.applicationMasterDAO
        and supplies:
           jndi:ade-ear-1.0.0/EjbDaoFacadeImpl/local
           Class:us.tx.state.oag.portlet.ade.ejb.EjbDaoFacade
           jndi:ade-ear-1.0.0/EjbDaoFacadeImpl/local-us.tx.state.oag.portlet.ade.ejb.EjbDaoFacade
           jndi:ade-ear-1.0.0/EjbDaoFacadeImpl/remote
      Added bean(jboss.j2ee:ear=ade-ear-1.0.0.ear,jar=ade-ejb.jar,name=EjbDaoFacadeImpl,service=EJB3) to KernelDeployment of: ade-ejb.jar


      Excerpt from failing Seam POJO:


      @Name("seamInitializationObserver")
      public class SeamInitializationObserver {

      @In("us.tx.state.oag.portlet.ade.ejb.ejbDaoFacade")
      protected EjbDaoFacade ejbDaoFacade;

      ...

      SysParameterMap sysParameterMap = new SysParameterMap();
      sysParameterMap.add(ejbDaoFacade.getSysParameterDAO().getSysParametersByGroup(ADE_GROUP));


      The EJB that isn't bound:


      @Stateless
      @TransactionManagement(TransactionManagementType.CONTAINER)
      @Name("us.tx.state.oag.portlet.ade.ejb.ejbDaoFacade")
      @LocalBinding(jndiBinding="us.tx.state.oag.portlet.ade.ejb.ejbDaoFacade")
      @AutoCreate
      @OagTrace
      public class EjbDaoFacadeImpl implements EjbDaoFacade {


      I have tried putting the Seam POJO name on the Stateless and LocalBinding annotations to no avail.


      Has something changed on AS 5.1 or in Seam 2.2.2.EAP5 that would not let a locally deployed EJB not be available until the WAR is completely deployed and functional?