MongoSocketReadException: Prématurément atteint la fin du cours d'eau (après une période d'inactivité)
J'ai cette erreur sur un find
appel (Java par défaut du Pilote) après une période d'inactivité. J'ai essayé d'ajouter un manuel de battement de coeur (de l'écriture à concurrence du plafond de la collection), mais il n'a pas aidé. Je ne reçois que le problème tout en étant connecté à une instance sur composer (c'est à dire pas dans un contexte local).
MongoDB version 3.2.8, pilote le plus récent (3.3), à l'aide de Java 8.
Une idée ?
J'ai trouvé que la
malheureusement, avec .socketKeepAlive(vrai), nous avons également obtenir cette erreur, mon lecteur version 3.0.4
pourriez-vous trouver la raison à la fin? Je fais face à cette erreur maintenant
Pouvez-vous vérifier le nombre de connexions que vous avez disponible? Exécuter à partir de la shell mongo:
isSocketKeepAlive
drapeau de la MongoClientOptions
est false
par défaut, je l'ai changé pour de vrai et je suis maintenant en attente de voir si je reçois l'erreur à nouveau.malheureusement, avec .socketKeepAlive(vrai), nous avons également obtenir cette erreur, mon lecteur version 3.0.4
pourriez-vous trouver la raison à la fin? Je fais face à cette erreur maintenant
Pouvez-vous vérifier le nombre de connexions que vous avez disponible? Exécuter à partir de la shell mongo:
db.serverStatus().connections
{ "actuel" : 204, "disponible" : 0, "totalCreated" : NumberLong(931) }OriginalL'auteur Rhangaun | 2016-08-22
Vous devez vous connecter pour publier un commentaire.
Je suis d'accord avec Rhangaun la réponse est ici mon soluction dans le code de JAVA:
Voici ma recherche lien:http://3t.io/blog/how-to-prevent-your-connection-from-dropping-with-hosted-mongodb-instances/
Espère que cela vous aide.
OriginalL'auteur Daqian
Je l'ai trouvé dans la documentation:
Pendant de longues applications en cours d'exécution, il est souvent prudent de permettre de "keepAlive" avec un nombre de millisecondes. Sans elle, après une certaine période de temps, vous pouvez commencer à voir "fermeture de la connexion" erreurs pour ce qui semble être sans raison.
Vérifier si cela aide. Lorsque vous vous connectez à mongoDB, vous pouvez passer des options de socket. Je suis à partir du nœud contexte nous utilisons des options suivantes de la garder vivante.
Espérons que cette aide!!
OriginalL'auteur Developer
- Je résoudre ce problème par sslEnabled à true,l'exemple de code:
Plus: mon client jar est org.mongodb.mongodb-pilote 3.6.4,serveur mongodb atlas M0 3.6.6 sur les BPC
OriginalL'auteur iengchen