List of usage examples for org.springframework.transaction ReactiveTransaction isCompleted
boolean isCompleted();
From source file:org.springframework.transaction.reactive.AbstractReactiveTransactionManager.java
/** * This implementation of commit handles participating in existing * transactions and programmatic rollback requests. * Delegates to {@code isRollbackOnly}, {@code doCommit} * and {@code rollback}./*from w w w.j a v a 2 s . co m*/ * @see ReactiveTransaction#isRollbackOnly() * @see #doCommit * @see #rollback */ @Override public final Mono<Void> commit(ReactiveTransaction transaction) throws TransactionException { if (transaction.isCompleted()) { return Mono.error(new IllegalTransactionStateException( "Transaction is already completed - do not call commit or rollback more than once per transaction")); } return TransactionSynchronizationManager.currentTransaction().flatMap(synchronizationManager -> { GenericReactiveTransaction reactiveTx = (GenericReactiveTransaction) transaction; if (reactiveTx.isRollbackOnly()) { if (reactiveTx.isDebug()) { logger.debug("Transactional code has requested rollback"); } return processRollback(synchronizationManager, reactiveTx); } return processCommit(synchronizationManager, reactiveTx); }); }
From source file:org.springframework.transaction.reactive.AbstractReactiveTransactionManager.java
/** * This implementation of rollback handles participating in existing transactions. * Delegates to {@code doRollback} and {@code doSetRollbackOnly}. * @see #doRollback// w w w . j ava 2 s . c o m * @see #doSetRollbackOnly */ @Override public final Mono<Void> rollback(ReactiveTransaction transaction) throws TransactionException { if (transaction.isCompleted()) { return Mono.error(new IllegalTransactionStateException( "Transaction is already completed - do not call commit or rollback more than once per transaction")); } return TransactionSynchronizationManager.currentTransaction().flatMap(synchronizationManager -> { GenericReactiveTransaction reactiveTx = (GenericReactiveTransaction) transaction; return processRollback(synchronizationManager, reactiveTx); }); }