@Override protected void beforeTransactionCommit() { transactionCoordinator().sendBeforeTransactionCompletionNotifications( this ); // basically, if we are the driver of the transaction perform a managed flush prior to // physically committing the transaction if ( isDriver && !transactionCoordinator().getTransactionContext().isFlushModeNever() ) { // if an exception occurs during flush, user must call rollback() transactionCoordinator().getTransactionContext().managedFlush(); } if ( isDriver ) { transactionCoordinator().getTransactionContext().beforeTransactionCompletion( this ); } }
@Override protected void beforeTransactionCommit() { transactionCoordinator().sendBeforeTransactionCompletionNotifications( this ); // basically, if we are the driver of the transaction perform a managed flush prior to // physically committing the transaction if ( isDriver && !transactionCoordinator().getTransactionContext().isFlushModeNever() ) { // if an exception occurs during flush, user must call rollback() transactionCoordinator().getTransactionContext().managedFlush(); } if ( isDriver ) { transactionCoordinator().getTransactionContext().beforeTransactionCompletion( this ); } }
@Override protected void beforeTransactionCommit() { transactionCoordinator().sendBeforeTransactionCompletionNotifications( this ); final boolean flush = ! transactionCoordinator().getTransactionContext().isFlushModeNever() && ( isDriver || ! transactionCoordinator().getTransactionContext().isFlushBeforeCompletionEnabled() ); if ( flush ) { // if an exception occurs during flush, user must call rollback() transactionCoordinator().getTransactionContext().managedFlush(); } if ( isDriver && isInitiator ) { transactionCoordinator().getTransactionContext().beforeTransactionCompletion( this ); } closeIfRequired(); }
@Override protected void beforeTransactionCommit() { transactionCoordinator().sendBeforeTransactionCompletionNotifications( this ); final boolean flush = ! transactionCoordinator().getTransactionContext().isFlushModeNever() && ( isDriver || ! transactionCoordinator().getTransactionContext().isFlushBeforeCompletionEnabled() ); if ( flush ) { // if an exception occurs during flush, user must call rollback() transactionCoordinator().getTransactionContext().managedFlush(); } if ( isDriver && isInitiator ) { transactionCoordinator().getTransactionContext().beforeTransactionCompletion( this ); } closeIfRequired(); }
public void beforeCompletion() { LOG.trace( "Transaction before completion callback" ); boolean flush; try { final int status = transactionCoordinator .getTransactionContext() .getTransactionEnvironment() .getJtaPlatform() .getCurrentStatus(); flush = managedFlushChecker.shouldDoManagedFlush( transactionCoordinator, status ); } catch ( SystemException se ) { setRollbackOnly(); throw exceptionMapper.mapStatusCheckFailure( "could not determine transaction status in beforeCompletion()", se ); } try { if ( flush ) { LOG.trace( "Automatically flushing session" ); transactionCoordinator.getTransactionContext().managedFlush(); } } catch ( RuntimeException re ) { setRollbackOnly(); throw exceptionMapper.mapManagedFlushFailure( "error during managed flush", re ); } finally { transactionCoordinator.sendBeforeTransactionCompletionNotifications( null ); transactionCoordinator.getTransactionContext().beforeTransactionCompletion( null ); } }
public void beforeCompletion() { LOG.trace( "Transaction before completion callback" ); boolean flush; try { final int status = transactionCoordinator .getTransactionContext() .getTransactionEnvironment() .getJtaPlatform() .getCurrentStatus(); flush = managedFlushChecker.shouldDoManagedFlush( transactionCoordinator, status ); } catch ( SystemException se ) { setRollbackOnly(); throw exceptionMapper.mapStatusCheckFailure( "could not determine transaction status in beforeCompletion()", se ); } try { if ( flush ) { LOG.trace( "Automatically flushing session" ); transactionCoordinator.getTransactionContext().managedFlush(); } } catch ( RuntimeException re ) { setRollbackOnly(); throw exceptionMapper.mapManagedFlushFailure( "error during managed flush", re ); } finally { transactionCoordinator.sendBeforeTransactionCompletionNotifications( null ); transactionCoordinator.getTransactionContext().beforeTransactionCompletion( null ); } }