Zkuste nastavit možnost maxConnectionIdleTime v MongoClientOptions (zejména pokud používáte hostované prostředí MongoDB)
Příklad:
new MongoClientOptions.Builder()
.requiredReplicaSetName(REPLICASET_NAME)
.maxConnectionIdleTime (MAX_IDLE_TIME)
.connectionsPerHost(CONNECTION_PER_HOST)
.cursorFinalizerEnabled(false)
.build();
connectTimeout je zavádějící, protože se jedná o nastavení časového limitu pro počáteční připojení.
U problému s opětovnou inicializací MongoClient se ujistěte, že klientský kód je ve správném rozsahu, aby jej mohl vložit kód vyzvednout. Také vidím, že se znovu inicializuje pouze db a nikoli objekt na úrovni kolekce (proxovaný?).