Commit on cancelled subscription in TransactionalOperator::transactional

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

Closes gh-23864
This commit is contained in:
Andreas Killaitis 2019-10-25 14:48:46 +02:00 committed by Sam Brannen
parent cba91ab28e
commit f838590300
1 changed files with 1 additions and 1 deletions

View File

@ -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())