Bonjour,
Je vous explique mon probleme :
- je dois parser plusieurs centaines de fichier struts-config.xml, pour cela j'utilise la bibliotheque JDOM.
En premier lieu dans une boucle je parse chacun de mes fichiers sans problemes, le soucis étant que cela prends près de 20 min.
Pour améliorer cela j'ai déplacer ma méthode pour parser dans une classe heritant de thread. Maintenant je lance un thread par fichier afin d'accélerer le traitement . Le probleme vient du fait que cela ne fonctionne pas toujours..
Une fois cela fonctionne , et de temps en temps j'ai des erreurs du type :
- java.net.SocketException: Unexpected end of file from server
- java.net.BindException: Address already in use: connect
Le code d'appel des threads :
Pour parser j'utilise SAXBuiler + le path pour creer le Document JDOM
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 for(int j=0; j<listeSousDossier.length-1;j++) { if(listeSousDossier[j].isDirectory() && !listeSousDossier[j].isHidden() && listeSousDossier[j].getPath().contains("_Hub") && listeSousDossier[j].getPath().contains("cc")) { String name =listeSousDossier[j].getName(); parseStruts t = new parseStruts(group,"Thread"+String.valueOf (j),listeSousDossier[j].getPath() + "/struts/struts-config.xml", name); t.start(); } }
Je ne sais pas si mon explication est suffisante mais si quelqu'un à une idée ..
Cordialement
Partager