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

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