From 09ef4795ecbfec4f0f541fd277e5becec0148bda Mon Sep 17 00:00:00 2001 From: madness-inc Date: Mon, 11 Nov 2019 17:07:22 +0100 Subject: [PATCH] ATS-20 --- .../org/appng/tomcat/session/mongo/MongoStore.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/appng/tomcat/session/mongo/MongoStore.java b/src/main/java/org/appng/tomcat/session/mongo/MongoStore.java index 2612f3e..6dde76e 100644 --- a/src/main/java/org/appng/tomcat/session/mongo/MongoStore.java +++ b/src/main/java/org/appng/tomcat/session/mongo/MongoStore.java @@ -190,6 +190,15 @@ public class MongoStore extends StoreBase { /** The socket timeout when connecting to a MongoDB server */ private int socketTimeout = 10000; + /** + * Sets the server selection timeout in milliseconds, which defines how long the driver will wait for server + * selection to succeed before throwing an exception. + */ + private int serverSelectionTimeout = 30000; + + /** Sets whether writes should be retried if they fail due to a network error. */ + private boolean retryWrites = false; + /** * Retrieve the unique Context name for this Manager. This will be used to separate out sessions from different * application Contexts. @@ -487,6 +496,7 @@ private void getConnection() throws LifecycleException { } MongoClientOptions options = MongoClientOptions.builder().connectTimeout(connectionTimeoutMs) .maxWaitTime(connectionWaitTimeoutMs).connectionsPerHost(maxPoolSize).writeConcern(writeConcern) + .serverSelectionTimeout(serverSelectionTimeout).retryWrites(retryWrites) .readPreference(readPreference).readConcern(readConcern).requiredReplicaSetName(replicaSet) .socketTimeout(socketTimeout).build();