The issue here seems to be this: I obtain a UserTransaction at the start of the method and in case of error, I call rollback in catch block. But the rollback is intercepted by the SeamPhaseListener which tries to begin a transaction and I get the error " Could not start transaction: org.jboss.seam.jsf.SeamPhaseListener.begin(SeamPhaseListener.java:571"
How do I disable SeamPhaseListener from starting a new transaction? More Details --------------- I am having issues creating a new UserTransaction in a jbpm process using Hibernate. Am I missing anything in order to create a JTA User transaction and then bind the Hibernate session within the transaction? Please advise Any advice greatly appreciated My Code ----------- public String createXXXXX() { JbpmContext jbpmContext = null; Session session = null; UserTransaction tx = null; try { jbpmContext = JbpmUtil.getJbpmContext(); session = HibernateUtil.getSession(); jbpmContext.setSession(session); System.out.println("About to start tx"); tx = (UserTransaction)new InitialContext().lookup("java:comp/UserTransaction"); while ( ...) { ..... 1. Perform custom DB operations using session 2. Persist ProcessInstance, Task using the same session // throw error to test rollback } } catch ( Exception e) { tx.rollback(); } When Tx is rolled back, I expect that all DB operations and jbPM operations shoudl be rolled back. Instead I see this strange behavior: When I lookup the transaction from InitialContext, the trasnaction statuis is already active! **************** TX STATUS: 0 So, when I rollback the transaction I get the error: java.lang.IllegalStateException: Could not start transaction at org.jboss.seam.jsf.SeamPhaseListener.begin(SeamPhaseListener.java:571 ) at org.jboss.seam.jsf.SeamPhaseListener.handleTransactionsBeforePhase(Se amPhaseListener.java:307) at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseList ener.java:142) at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.ja va:116) Caused by: javax.transaction.NotSupportedException: transaction is already active at org.jboss.seam.transaction.HibernateTransaction.assertNotActive(Hiber nateTransaction.java:174) at org.jboss.seam.transaction.HibernateTransaction.begin(HibernateTransa ction.java:78) at org.jboss.seam.jsf.SeamPhaseListener.begin(SeamPhaseListener.java:566 jbpm.cfg.xml --------------- <jbpm-configuration> <jbpm-context> < service name="persistence" > < factory> < bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory"> < field name="isTransactionEnabled"> < false/> < field name="isCurrentSessionEnabled"> < false /> </ bean> </ factory> </ service> < service name="tx" factory="org.jbpm.tx.TxServiceFactory" /> < service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" /> < service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" /> < service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" /> < service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" /> </ jbpm-context> </jbpm-configuration> hibernate.cfg.xml --------------------- <session-factory name="java:/bookingDatabase"> < property name="connection.datasource">java:/DefaultDS < property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider < property name="transaction.factory_class">org.hibernate.transaction.JTATransactionFactory < property name="transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup < property name="transaction.flush_before_completion">true <!-- org.hibernate.transaction.JDBCTransactionFactory --> < property name="jta.UserTransaction">java:comp/UserTransaction < property name="hibernate.show_sql">true <!-- Use the Hibernate built-in pool for tests. --> < property name="connection.pool_size">1 View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4140315#4140315 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4140315 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user