Опитайте да зададете опцията maxConnectionIdleTime във вашите MongoClientOptions (особено ако използвате хоствана MongoDB среда)
Пример:
new MongoClientOptions.Builder()
.requiredReplicaSetName(REPLICASET_NAME)
.maxConnectionIdleTime (MAX_IDLE_TIME)
.connectionsPerHost(CONNECTION_PER_HOST)
.cursorFinalizerEnabled(false)
.build();
connectTimeout е подвеждащо, тъй като това е настройката за изчакване за първоначална връзка.
За проблема около повторното инициализиране на MongoClient, уверете се, че кодът на клиента е в правилния обхват, за да може кодът за вмъкване да се вземе. Освен това виждам само db, а не обектът на ниво колекция (проксиран?), който се инициализира повторно.