Browse Source

Commit on cancelled subscription in TransactionalOperator::transactional

Prior to this commit, TransactionalOperator::transactional did not close
the transaction when cancelled.

Closes gh-23864
pull/23873/head
Andreas Killaitis 6 years ago committed by Sam Brannen
parent
commit
f838590300
  1. 2
      spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java

2
spring-tx/src/main/java/org/springframework/transaction/reactive/TransactionalOperatorImpl.java

@ -80,7 +80,7 @@ final class TransactionalOperatorImpl implements TransactionalOperator { @@ -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())

Loading…
Cancel
Save