From b13919965251ef7b370f34bc39318c6a68f7ce39 Mon Sep 17 00:00:00 2001 From: Valentin Kovalenko Date: Sat, 17 Feb 2024 15:44:04 -0700 Subject: [PATCH] Support the `serverMonitoringMode` connection string option This change is with accordance to source/uri-options/uri-options.rst. JAVA-4936 --- .../main/com/mongodb/ConnectionString.java | 33 +++++- .../connection/ServerMonitoringMode.java | 74 ++++++++++++ .../mongodb/connection/ServerSettings.java | 72 ++++++++---- .../resources/uri-options/sdam-options.json | 46 ++++++++ .../mongodb/AbstractConnectionStringTest.java | 3 + .../ConnectionStringSpecification.groovy | 3 + .../com/mongodb/ConnectionStringUnitTest.java | 62 ++++++++++ .../connection/ServerMonitoringModeTest.java | 43 +++++++ .../ServerSettingsSpecification.groovy | 3 + .../connection/ServerSettingsTest.java | 106 ++++++++++++++++++ 10 files changed, 420 insertions(+), 25 deletions(-) create mode 100644 driver-core/src/main/com/mongodb/connection/ServerMonitoringMode.java create mode 100644 driver-core/src/test/resources/uri-options/sdam-options.json create mode 100644 driver-core/src/test/unit/com/mongodb/ConnectionStringUnitTest.java create mode 100644 driver-core/src/test/unit/com/mongodb/connection/ServerMonitoringModeTest.java create mode 100644 driver-core/src/test/unit/com/mongodb/connection/ServerSettingsTest.java diff --git a/driver-core/src/main/com/mongodb/ConnectionString.java b/driver-core/src/main/com/mongodb/ConnectionString.java index 5e6a5b7d81a..d9fa22fec44 100644 --- a/driver-core/src/main/com/mongodb/ConnectionString.java +++ b/driver-core/src/main/com/mongodb/ConnectionString.java @@ -18,6 +18,8 @@ import com.mongodb.connection.ClusterSettings; import com.mongodb.connection.ConnectionPoolSettings; +import com.mongodb.connection.ServerMonitoringMode; +import com.mongodb.connection.ServerSettings; import com.mongodb.connection.SocketSettings; import com.mongodb.event.ConnectionCheckOutStartedEvent; import com.mongodb.event.ConnectionCheckedInEvent; @@ -111,6 +113,13 @@ * *

Replica set configuration:

*