Zijn deze time-outs opgetreden na perioden van inactiviteit? Het is waarschijnlijk dat uw verbindingspool verouderd is nadat deze te lang inactief is geweest.
Zo ja, dan zijn er twee manieren om dit aan te pakken:
-
Vang de socket-time-outuitzonderingen en uw onmiddellijke verzoek zou toegang moeten hebben tot een nieuwe verbindingspool. (dit is als de optie voor automatisch opnieuw verbinden in uw verbindingsobject is ingesteld op true, wat standaard is.)
-
Gebruik een aangepaste keep-alive om de mongod-server periodiek te pingen met dezelfde verbindingspool, zodat de pool vers blijft.
Optie 1 is eenvoudig te implementeren, maar de standaard socket-time-out is ongeveer 30 seconden, wat nogal overdreven is. U kunt deze instelling naar wens wijzigen.
Optie 2 is een beetje een hack, met threading.