J'ai une application en cours d'exécution sur Apache Tomcat 5.5 sur une machine virtuelle Win2k3. L'application sert de XML pour être consommé par certains appareils de téléphonie dans le cadre de notre infrastructure IVR. L'application, à son tour, reçoit ses informations d'une poignée de services SOAP. Ce matin, les services SOAP arrivaient par intermittence, causant toutes sortes d'exceptions. Une fois que ceux-ci se sont arrêtés, j'ai remarqué que notre application fonctionnait encore très lentement, en ce sens qu'il fallait beaucoup de temps pour rendre et livrer des pages. Cette lenteur a été remarquée à la fois sur les appareils qui consomment la sortie Tomcat, et à partir d'un simple test de demande de documents statiques à partir de mon navigateur Web.java.net.SocketException: Abandon de la connexion causée par le logiciel: échec de la récupération; Causes et remèdes?
Redémarrage Tomcat a immédiatement résolu le problème.
Cracking ouvrir le journal de localhost, je vois une tonne de ces erreurs, jusqu'à jusqu'à ce que je remis en marche Tomcat:
WARNING: Exception thrown whilst processing POSTed parameters
java.net.SocketException: Software caused connection abort: recv failed
Après un grand de recherche sur Google, ma théorie de travail est que la question SOAP fait que mes utilisateurs obtenir des erreurs, ce qui les a amenés à faire plus de requêtes, ce qui a augmenté la charge sur l'application. Cela a provoqué l'épuisement des sockets disponibles pour gérer les demandes entrantes. Donc, voici mon dilemme:
1. Est-ce une hypothèse valide, ou suis-je juste dans la tête avec HTTP et Tomcat?
2. S'il s'agit d'une hypothèse valide, existe-t-il un moyen d'augmenter la taille de la "file d'attente de socket", de sorte que cela ne se produise plus dans le futur?
Merci!
IVR Avenger
duplication possible de [Motifs officiels pour "Abandon de la connexion causée par le logiciel: erreur d'écriture de la socket"] (http://stackoverflow.com/questions/2126607/reasons-reason-for-software-caused-connection-abort-socket- write-error) – EJP