2010-10-28 17 views
0

J'utilise HttpClient 3.1 pour me connecter à différents services Web. J'ai mis SO_TIMEOUT et ConnectionTimeout à 3 secondes. Je simule un service qui prend plus de 3 secondes pour répondre. Cependant, le délai d'attente réel est beaucoup plus long, jusqu'à quelques minutes et plus. En fin de compte, le serveur manque de mémoire et se bloque.Délai d'attente HttpClient lent sous contrainte

Que se passe-t-il? Pourquoi mes connexions ne sortent pas à temps?

+0

Il semble que j'utilise HttpClient en mode single-thread. Après avoir modifié le code pour utiliser MultiThreadedHttpConnectionManager et augmenté le nombre de connexions, il a commencé à fonctionner comme prévu. Avant, il semble qu'il s'agissait d'appels en série. – Dan

Répondre

0

SO_TIMEOUT ne sera lancé que s'il y a une inactivité sur la connexion HTTP. Etes-vous sûr, votre connexion est inactive? Ou votre serveur envoie-t-il une réponse en bloc?

+0

J'ai placé Thread.sleep() – Dan