Bonjour

En réalité, je travaille sur un servlet, mais le problème est localisé dans un thread qui fait un exec de ssh. Je sais, c'est un peu tordu.
Ma servlet consulte une base de données. En fonction d'un nombre rendu par cette base, je crée autant de répertoires que ce nombre. Seulement, je dois le faire sur une machine distante, d'où un appel ssh. Comme c'est une opération lourde, je le fais dans un thread. Voici le code de thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Thread t = new Thread(){
			public void run(){
				try{
					for(long i=0; i<param.getSize(); i++){
						Runtime.getRuntime().exec("ssh gldavid@cluster mkdir -p /home/gldavid/Blaster/"+id_user+"/"+id_job+"/"+i);
					}
				}catch(IOException ioe){
					Blaster.this.pw.print("<font color=\"#FF0000\"><b>");
					ioe.printStackTrace(Blaster.this.pw);
					Blaster.this.pw.print("</b></font>");
					Blaster.this.destroy();
				}
				synchronized(Blaster.this) {
					Blaster.this.notify();
				}
			}
		};
		t.start();
		synchronized(this) {
			try {
				this.wait();
			} catch (InterruptedException e) {
				pw.print("<font color=\"#FF0000\"><b>");
				e.printStackTrace(pw);
				pw.print("</b></font>");
				this.destroy();
			}
		}
Or, à l'exécution, je constate qu'il me crée une partie de l'arborescence mais il sort avec cette exception levée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
java.io.IOException: java.io.IOException: Too many open files at java.lang.UNIXProcess.(UNIXProcess.java:148)
Aïe ! C'est gênant d'autant plus que le nombre de sous-répertoires peut être gros (environ 1000).
Donc, mon problème réside t'il en mon code Java ou dans mon appel ssh ?

Merci d'avance de votre réponse.

@++