From: Juergen H. <jho...@us...> - 2006-04-19 21:16:12
|
Update of /cvsroot/springframework/spring/tiger/src/org/springframework/orm/jpa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25461/tiger/src/org/springframework/orm/jpa Modified Files: JpaTransactionManager.java Log Message: only attempt to roll back if transaction is still active Index: JpaTransactionManager.java =================================================================== RCS file: /cvsroot/springframework/spring/tiger/src/org/springframework/orm/jpa/JpaTransactionManager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** JpaTransactionManager.java 15 Mar 2006 21:05:48 -0000 1.5 --- JpaTransactionManager.java 19 Apr 2006 21:16:03 -0000 1.6 *************** *** 19,22 **** --- 19,23 ---- import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; + import javax.persistence.EntityTransaction; import javax.persistence.PersistenceException; import javax.sql.DataSource; *************** *** 330,337 **** } try { ! txObject.getEntityManagerHolder().getEntityManager().getTransaction().commit(); } catch (PersistenceException ex) { ! // assumably failed to flush changes to database throw convertJpaAccessException(ex); } --- 331,339 ---- } try { ! EntityTransaction tx = txObject.getEntityManagerHolder().getEntityManager().getTransaction(); ! tx.commit(); } catch (PersistenceException ex) { ! // Assumably failed to flush changes to database. throw convertJpaAccessException(ex); } *************** *** 345,349 **** } try { ! txObject.getEntityManagerHolder().getEntityManager().getTransaction().rollback(); } catch (PersistenceException ex) { --- 347,354 ---- } try { ! EntityTransaction tx = txObject.getEntityManagerHolder().getEntityManager().getTransaction(); ! if (tx.isActive()) { ! tx.rollback(); ! } } catch (PersistenceException ex) { |