@@ -202,14 +202,19 @@ public synchronized MongoClient getClient(List<ServerAddress> addresses) {
202
202
String userName = credential == null ? null : credential .getUserName ();
203
203
MongoCnxnKey key = new MongoCnxnKey (serverAddress , userName );
204
204
try {
205
- return addressClientMap .get (key , () -> {
206
- logger .info ("Created connection to {}." , key );
207
- logger .info ("Number of open connections {}." , addressClientMap .size ());
208
- MongoClientSettings .Builder settings = MongoClientSettings .builder ()
209
- .applyToClusterSettings (builder -> builder .hosts (addresses ));
210
- if (credential != null ) {
211
- settings .credential (credential );
205
+ return addressClientMap .get (key , () -> {
206
+ MongoClientSettings .Builder settings ;
207
+ if (clientURI .isSrvProtocol ()) {
208
+ settings = MongoClientSettings .builder ().applyConnectionString (clientURI );
209
+ logger .info ("Created srv protocol connection to {}." , key );
210
+ } else {
211
+ settings = MongoClientSettings .builder ().applyToClusterSettings (builder -> builder .hosts (addresses ));
212
+ if (credential != null ) {
213
+ settings .credential (credential );
214
+ }
215
+ logger .info ("Created connection to {}." , key );
212
216
}
217
+ logger .info ("Number of open connections {}." , addressClientMap .size () + 1 ); // include this created
213
218
return MongoClients .create (settings .build ());
214
219
});
215
220
} catch (ExecutionException e ) {
0 commit comments