3 Replies Latest reply on Mar 3, 2006 9:51 AM by roberto72

    EntityManagerFactory problem

      JBOSS 4.0.4RC1

      Stateless code:

      public class AlfaSessionBean implements AlfaSession {
      EntityManager m_oEM = null;

      public AlfaSessionBean() {
      System.out.println("PreFindPersMgrFactory");
      EntityManagerFactory oEMF = Persistence.
      createEntityManagerFactory("TestPersistenceManager");
      System.out.println("PreFindPersMgr");
      m_oEM = oEMF.getEntityManager();
      System.out.println("EPM=" + m_oEM);
      }
      ....
      }



      META-INF/persistence.xml:
      [persistence]
      [persistence-unit name="TestPersistenceManager"
      transaction-type="JTA"]
      [provider]org.hibernate.ejb.HibernatePersistence[/provider]
      [jta-data-source]java:/TestDS[/jta-data-source>]
      [properties /]
      [/persistence-unit]
      [/persistence>


      Exception:

      2006-03-03 14:32:03,516 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRe
      pository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@1066caf,
      cl=org.jboss.mx.loading.UnifiedClassLoader3@a06d25{ url=null ,addedOrder=0}
      2006-03-03 14:32:03,524 FATAL [org.hibernate.ejb.packaging.PersistenceXmlLoader]
      TestPersistenceManager JTA
      2006-03-03 14:32:03,527 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web
      ].[localhost].[/test].[jsp]] Servlet.service() for servlet jsp threw exception
      java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
      at org.jboss.ejb3.EJBContainer.construct(EJBContainer.java:482)
      at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:62)
      at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:48)
      at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(Stateles
      sInstanceInterceptor.java:51)


      TIA
      Roberto Colmegna

        • 1. Re: EntityManagerFactory problem
          mwoelke

          Why dont u use:

          @PersistenceContext(unitName="TestPersistenceManager")
          EntityManager m_oEM;

          to get a reference to your EntityManager? This enables Dependency Injection for the EntityManager.


          Regards, Milan Wölke

          • 2. Re: EntityManagerFactory problem

            I obtain a NullPointerExcep when I trying to use m_oEM.

            But, on the log, I noticed that:

            2006-03-03 15:34:51,934 INFO [org.jboss.ejb3.JmxKernelAbstraction] installing M
            Bean: jboss.j2ee:service=EJB3,ear=test.ear,jar=test-ear.jar,name=AlfaSessionBean
            with dependencies:
            2006-03-03 15:34:51,934 INFO [org.jboss.ejb3.JmxKernelAbstraction] persiste
            nce.units:unitName=TestPersistenceManager


            TIA
            Roberto Colmegna

            • 3. Re: EntityManagerFactory problem

              Solved: wrong position of persistence.xml, I put it into:
              [test.ear]\META-INF\

              but it must go into:
              [test.ear]\[test-ejb.jar]\META-INF\

              TIA