From 7759dcd9dfd3cdecb696edc40abc44dd98840f73 Mon Sep 17 00:00:00 2001 From: Nikolay Rybak Date: Thu, 9 Aug 2018 18:50:40 +0300 Subject: [PATCH] Propagate retryWrites flag from connection URI to ReactiveMongoClient Closes gh-14032 --- .../autoconfigure/mongo/ReactiveMongoClientFactory.java | 1 + .../mongo/ReactiveMongoClientFactoryTests.java | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactory.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactory.java index f18cf8df1a8f..2d9c20dc4975 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactory.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactory.java @@ -159,6 +159,7 @@ private Builder createBuilder(MongoClientSettings settings, if (connection.getApplicationName() != null) { builder.applicationName(connection.getApplicationName()); } + builder.retryWrites(connection.getRetryWrites()); return builder; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactoryTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactoryTests.java index edcf05945d6c..3ea095b7470a 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactoryTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/mongo/ReactiveMongoClientFactoryTests.java @@ -112,6 +112,14 @@ public void uriCanBeCustomized() { assertMongoCredential(credential, "user", "secret", "test"); } + @Test + public void retryWritesIsPropagatedFromUri() { + MongoProperties properties = new MongoProperties(); + properties.setUri("mongodb://localhost/test?retryWrites=true"); + MongoClient client = createMongoClient(properties); + assertThat(client.getSettings().getRetryWrites()).isTrue(); + } + @Test public void uriCannotBeSetWithCredentials() { MongoProperties properties = new MongoProperties();