[hibernate-commits] Hibernate SVN: r14314 - core/trunk/core/src/main/java/org/hibernate/jdbc.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Wed Feb 6 21:08:26 EST 2008
Author: steve.ebersole at jboss.com
Date: 2008-02-06 21:08:26 -0500 (Wed, 06 Feb 2008)
New Revision: 14314
Modified:
core/trunk/core/src/main/java/org/hibernate/jdbc/JDBCContext.java
Log:
HHH-1956 : Interceptor.afterTransactionCompletion() and JTA
Modified: core/trunk/core/src/main/java/org/hibernate/jdbc/JDBCContext.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/jdbc/JDBCContext.java 2008-02-06 07:46:52 UTC (rev 14313)
+++ core/trunk/core/src/main/java/org/hibernate/jdbc/JDBCContext.java 2008-02-07 02:08:26 UTC (rev 14314)
@@ -163,11 +163,15 @@
else {
javax.transaction.Transaction tx = tm.getTransaction();
if ( JTAHelper.isMarkedForRollback( tx ) ) {
+ // transactions marked for rollback-only cause some TM impls to throw exceptions
log.debug( "Transaction is marked for rollback; skipping Synchronization registration" );
return false;
}
else {
- tx.registerSynchronization( new CacheSynchronization(owner, this, tx, null) );
+ if ( hibernateTransaction == null ) {
+ hibernateTransaction = owner.getFactory().getSettings().getTransactionFactory().createTransaction( this, owner );
+ }
+ tx.registerSynchronization( new CacheSynchronization(owner, this, tx, hibernateTransaction) );
isTransactionCallbackRegistered = true;
log.debug("successfully registered Synchronization");
return true;
More information about the hibernate-commits
mailing list