Bonjour, je cherche a redémarrer automatiquement mon serveur J2EE.
J'arrive bien à l'arrêter, mais pas à le démarrer. (Le message "démarrage de jonas" apparait et puis...pouf j'attends indéfiniment.
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
30
31
32
33
34 public class Main { public static void main(String[] args) { try { int c; String fileName = "test.txt"; String strToSearch = "documenta"; String commande = "", resultat = ""; Process proc; while (true) { resultat = ""; // on lance la commande findstr pour chercher la chaine "Erreur 500" commande = "findstr /C:" + strToSearch + " E:\\" + fileName; proc = Runtime.getRuntime().exec(commande); // récupère le résultat de la commande InputStream in = proc.getInputStream(); while ((c = in.read()) != -1) { resultat += ((char) c); } in.close(); proc.destroy(); if (resultat.length() == 0) { // on a trouvé une erreur 500 il faut donc redémarrer le serveur stopJOnAS(); startJOnAS(); } } } catch (IOException e) { System.out.println(e.toString()); } }
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 // arrête le serveur private static void stopJOnAS() { System.out.println("Arrêt de JonAS"); String cmd = "E:\\JOnAS Stop.bat"; Process proc; try { proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); proc.destroy(); System.out.println("JOnAS arrêté !"); } catch (IOException e) { System.out.println(e.toString()); } catch (InterruptedException e) { System.out.println(e.toString()); } }Sauriez-vous m'aider ?
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 // démarre le serveur private static void startJOnAS() { System.out.println("Démarrage de JonAS"); String cmd = "E:\\JOnAS Start.bat"; Process proc; try { proc = Runtime.getRuntime().exec(cmd); proc.waitFor(); proc.destroy(); System.out.println("JOnAS démarré !"); } catch (IOException e) { System.out.println(e.toString()); } catch (InterruptedException e) { System.out.println(e.toString()); } } }
Merci à vous !
Partager