Persistence Context Configuration On WebLogic 9.2
darthmaul Feb 19, 2008 10:55 PMI am deploying a Seam-JPA application on WebLogic 9.2. Here is my persistence unit:
<persistence-unit name="myWebapp" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>myDS</jta-data-source> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9Dialect"/> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.HashtableCacheProvider"/> <property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.WeblogicTransactionManagerLookup"/> </properties> </persistence-unit>
Here is the relevant portion of my components.xml:
<persistence:entity-manager-factory name="emf" persistence-unit-name="myWebapp" /> <persistence:managed-persistence-context name="em" auto-create="true" entity-manager-factory="#{emf}" /> <transaction:entity-transaction entity-manager="#{em}"/>
When I deploy my application, I get the following:
java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction() at org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:317) at org.hibernate.search.jpa.impl.FullTextEntityManagerImpl.getTransaction(FullTextEntityManagerImpl.java:166) at org.jboss.seam.persistence.EntityManagerProxy.getTransaction(EntityManagerProxy.java:110) at org.jboss.seam.transaction.EntityTransaction.getDelegate(EntityTransaction.java:61) at org.jboss.seam.transaction.EntityTransaction.begin(EntityTransaction.java:81) at org.jboss.seam.jsf.SeamPhaseListener.begin(SeamPhaseListener.java:566) at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsBeforePhase(SeamPhaseListener.java:307) at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:142) at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:222) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) 19 Feb 2008 16:27:40,491: DEBUG org.hibernate.jdbc.JDBCContext - TransactionFactory reported no active transaction; Synchronization not registered 19 Feb 2008 16:27:40,491: DEBUG org.hibernate.impl.SessionImpl - setting flush mode to: AUTO
I definitely have something wrong with my configuration. Any insight on what I need to change is appreciated.
Thanks.