Replace signal materialization in TransactionalOperator with usingWhen

We now use Flux.usingWhen() instead materialize/dematerialize operators
to reuse Reactor's resource closure.

Until usingWhen() accepts a BiFunction to consume error signals,
we need to map error signals outside of usingWhen which requires
re-wrapping of the ReactiveTransaction object.
This commit is contained in:
Mark Paluch
2019-05-03 14:55:49 +02:00
committed by Juergen Hoeller
parent 9cff07ce35
commit 83046531da
2 changed files with 7 additions and 10 deletions

View File

@@ -59,9 +59,9 @@ public class TransactionalOperatorTests {
@Test
public void commitWithFlux() {
TransactionalOperator operator = TransactionalOperator.create(tm, new DefaultTransactionDefinition());
Flux.just(true).as(operator::transactional)
Flux.just(1, 2, 3, 4).as(operator::transactional)
.as(StepVerifier::create)
.expectNext(true)
.expectNextCount(4)
.verifyComplete();
assertTrue(tm.commit);
assertFalse(tm.rollback);