1 Reply Latest reply on Sep 6, 2008 6:31 PM by Joshua Jackson

    Deployment problem on GlassfishV2 with Seam 2.1b1

    Rick Horowitz Newbie

      I am unable to run my application with Seam 2.0.3 because of JIRA 3274. Since this is reported as fixed in Seam 2.1b1, I tried upgrading. Unfortunately, I have run into another blocking problem -- inability to deploy.


      I'm using NetBeans 6.1, Glassfish V2ur2, Hibernate 3.3.0 (and associated Hibernate Annotations, EntityManager, Validator, and Search).


      It's failing with a javax.ejb.EJBException: nested exception is: javax.ejb.CreateException: Could not create stateless EJB (full stack trace below).


      The EJBs in question are UtilityBean and DataFileLoaderBean, which references UtilityLocal. The DataFileLoaderBean is called only by the javax.ejb.TimerService.


      Below, I include the EJB references in my web.xml file, and portions of DataFileLoaderBean and UtilityBean.


      DataFileLoaderBean


      @javax.ejb.Stateless
      public class DataFileLoaderBean implements com.unclejoes.ejb.DataFileLoaderRemote, com.unclejoes.ejb.DataFileLoaderLocal {
          
          private static class TimerInfo implements Serializable {
          
          @Resource TimerService _timerService;
          @EJB
          private UtilityLocal utilityFacade;
          @EJB
          private FullTextIndexerLocal _fullTextIndexer;
          ...
      }



      UtilityBean


      @Stateful
      @Scope(ScopeType.SESSION)
      @Name("utilityBean")
      public class UtilityBean implements UtilityLocal {
          
          @Create
          public void init() {
          }
          ...
          
          @Remove @Destroy
          public void destroy() {}
      }



      web.xml


          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ShoppingCartBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.ShoppingCartLocal</local>
              <ejb-link>ShoppingCartBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ProductSearchBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.ProductSearchLocal</local>
              <ejb-link>ProductSearchBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/CatalogItemFacade/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.facade.CatalogItemFacadeLocal</local>
              <ejb-link>CatalogItemFacade</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/DepartmentFacade/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.facade.DepartmentFacadeLocal</local>
              <ejb-link>DepartmentItemFacade</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ProductClassFacade/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.facade.ProductClassFacadeLocal</local>
              <ejb-link>ProductClassItemFacade</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ProductSubclassFacade/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.facade.ProductSubclassFacadeLocal</local>
              <ejb-link>ProductSubclassItemFacade</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/GlobalAdminBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.admin.GlobalAdminLocal</local>
              <ejb-link>GlobalAdminBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/SubclassPricingBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.admin.SubclassPricingLocal</local>
              <ejb-link>SubclassPricingBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ProductOverrideBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.admin.ProductOverrideLocal</local>
              <ejb-link>ProductOverrideBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ViewOrdersBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.admin.ViewOrdersLocal</local>
              <ejb-link>ViewOrdersBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/UtilityBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.UtilityLocal</local>
              <ejb-link>UtilityBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/AuthenticatorBean/local</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <local>com.unclejoes.ejb.AuthenticatorLocal</local>
              <ejb-link>AuthenticatorBean</ejb-link>
          </ejb-local-ref>
          <ejb-local-ref>
              <ejb-ref-name>UncleJoes-ejb/ErrorProcessorBean/local</ejb-ref-name>
              <local>com.unclejoes.ejb.ErrorProcessorLocal</local>
              <ejb-link>ErrorProcessorBean</ejb-link>
          </ejb-local-ref>



      Glassfish Log


      Log was too long, so I put it here!