Prøv at indstille maxConnectionIdleTime-indstillingen i dine MongoClientOptions (især hvis du bruger et hostet MongoDB-miljø)
Eksempel:
new MongoClientOptions.Builder()
.requiredReplicaSetName(REPLICASET_NAME)
.maxConnectionIdleTime (MAX_IDLE_TIME)
.connectionsPerHost(CONNECTION_PER_HOST)
.cursorFinalizerEnabled(false)
.build();
connectTimeout er vildledende, da det er timeout-indstillingen for den første forbindelse.
For spørgsmålet omkring geninitialisering af MongoClient skal du sørge for, at klientkoden er i det korrekte omfang, som indsættelseskoden kan hente. Desuden ser jeg kun db'en og ikke samlingsniveauobjektet (proxied?) blive re-initialiseret.