From f8385903004ab160d35ebfbe0ffb07b1877b1b72 Mon Sep 17 00:00:00 2001 From: Andreas Killaitis <52928792+killaitis@users.noreply.github.com> Date: Fri, 25 Oct 2019 14:48:46 +0200 Subject: [PATCH] Commit on cancelled subscription in TransactionalOperator::transactional Prior to this commit, TransactionalOperator::transactional did not close the transaction when cancelled. Closes gh-23864 --- .../transaction/reactive/TransactionalOperatorImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java b/spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java index d1a57794224..2de421e11b5 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java +++ b/spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java @@ -80,7 +80,7 @@ final class TransactionalOperatorImpl implements TransactionalOperator { // Need re-wrapping of ReactiveTransaction until we get hold of the exception // through usingWhen. return status.flatMap(it -> Mono.usingWhen(Mono.just(it), ignore -> mono, - this.transactionManager::commit, (res, err) -> Mono.empty(), s -> Mono.empty()) + this.transactionManager::commit, (res, err) -> Mono.empty(), this.transactionManager::commit) .onErrorResume(ex -> rollbackOnException(it, ex).then(Mono.error(ex)))); }) .subscriberContext(TransactionContextManager.getOrCreateContext())