From 74453c02f277e825566fb75d48620f4cbdaf4164 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Thu, 14 Jun 2018 14:29:52 +0200 Subject: [PATCH 1/2] DATAMONGO-2005 - Prepare issue branch. --- pom.xml | 2 +- spring-data-mongodb-benchmarks/pom.xml | 2 +- spring-data-mongodb-cross-store/pom.xml | 4 ++-- spring-data-mongodb-distribution/pom.xml | 2 +- spring-data-mongodb/pom.xml | 4 +++- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 7227da3581..c8563c0052 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.data spring-data-mongodb-parent - 2.1.0.BUILD-SNAPSHOT + 2.1.0.DATAMONGO-2005-SNAPSHOT pom Spring Data MongoDB diff --git a/spring-data-mongodb-benchmarks/pom.xml b/spring-data-mongodb-benchmarks/pom.xml index 9baccaa905..9da4e092f8 100644 --- a/spring-data-mongodb-benchmarks/pom.xml +++ b/spring-data-mongodb-benchmarks/pom.xml @@ -7,7 +7,7 @@ org.springframework.data spring-data-mongodb-parent - 2.1.0.BUILD-SNAPSHOT + 2.1.0.DATAMONGO-2005-SNAPSHOT ../pom.xml diff --git a/spring-data-mongodb-cross-store/pom.xml b/spring-data-mongodb-cross-store/pom.xml index 47a5b7aba7..23ebd111a5 100644 --- a/spring-data-mongodb-cross-store/pom.xml +++ b/spring-data-mongodb-cross-store/pom.xml @@ -6,7 +6,7 @@ org.springframework.data spring-data-mongodb-parent - 2.1.0.BUILD-SNAPSHOT + 2.1.0.DATAMONGO-2005-SNAPSHOT ../pom.xml @@ -50,7 +50,7 @@ org.springframework.data spring-data-mongodb - 2.1.0.BUILD-SNAPSHOT + 2.1.0.DATAMONGO-2005-SNAPSHOT diff --git a/spring-data-mongodb-distribution/pom.xml b/spring-data-mongodb-distribution/pom.xml index e5c865ea08..cf681137cc 100644 --- a/spring-data-mongodb-distribution/pom.xml +++ b/spring-data-mongodb-distribution/pom.xml @@ -13,7 +13,7 @@ org.springframework.data spring-data-mongodb-parent - 2.1.0.BUILD-SNAPSHOT + 2.1.0.DATAMONGO-2005-SNAPSHOT ../pom.xml diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml index b86dc2808c..ebcc37ac65 100644 --- a/spring-data-mongodb/pom.xml +++ b/spring-data-mongodb/pom.xml @@ -11,7 +11,7 @@ org.springframework.data spring-data-mongodb-parent - 2.1.0.BUILD-SNAPSHOT + 2.1.0.DATAMONGO-2005-SNAPSHOT ../pom.xml @@ -109,12 +109,14 @@ io.projectreactor reactor-core + 3.2.0.M2 true io.projectreactor reactor-test + 3.2.0.M2 true From 7b063bd7301381d31ec3e9481a67b2f01965183c Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Thu, 14 Jun 2018 14:55:51 +0200 Subject: [PATCH 2/2] DATAMONGO-2005 - Switch reactive transactions API over to Flux.usingWhen. --- .../mongodb/core/ReactiveMongoTemplate.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java index 82052d5fbc..8bc11d9f4e 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ReactiveMongoTemplate.java @@ -523,22 +523,8 @@ public Flux execute(ReactiveSessionCallback action, Consumer { - - if (session.hasActiveTransaction()) { - if (signal.isOnComplete()) { - return Mono.from(session.commitTransaction()).thenReturn(signal); - } - if (signal.isOnError()) { - return Mono.from(session.abortTransaction()).thenReturn(signal); - } - } - return Mono.just(signal); - }) // - . dematerialize() // - .doFinally(signalType -> { + return Flux.usingWhen(Mono.just(session), s -> ReactiveMongoTemplate.this.withSession(action, s), + ClientSession::commitTransaction, ClientSession::abortTransaction).doFinally(signalType -> { doFinally.accept(session); }); });