Bonjour à tous,
D'abord milles excuses, je suis sur que mon problème est déjà apparu sur ce forum car c'est plutôt classique mais impossible de mettre la main dessus.
Voici mon problème :
- j'ai une application qui fonctionne correctement, appelons la A. C'est une application qui s’exécute en arrière plan.
- sous certaines conditions, A peut lancer un Jar via la commande suivante :
Appelons la seconde application B. C'est un micro-service SpringBoot qui est censé être autonome et continuer même si A s’arrête (ce qui n'est pas censé arriver).
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
35
36
37
38 process = Runtime.getRuntime().exec(JAR_PATH + jarName); freeProcess(); private void freeProcess() { // Consommation de la sortie standard de l'application externe dans un Thread separe new Thread() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line = ""; try { while ((line = reader.readLine()) != null) { } } finally { reader.close(); } } catch (IOException ioe) { } } }.start(); // Consommation de la sortie d'erreur de l'application externe dans un Thread separe new Thread() { public void run() { try { BufferedReader reader = new BufferedReader(new InputStreamReader(process.getErrorStream())); String line; try { while ((line = reader.readLine()) != null) { } } finally { reader.close(); } } catch (IOException ioe) { } } }.start(); }
je précise que l’exécution se passe à merveille.
Jusqu'ici, tout va pour le mieux dans le meilleur des mondes. Les problèmes interviennent si l'utilisateur s'amuse à stopper A alors que B tourne encore.
Dans ce cas là, il est impossible de relancer A. Je clique sur l'icone et rien ne se passe.
Si je quitte B, A se relance sans problème.
Je suis ouvert à toutes les suggestions car je galère depuis hier et ça me rend![]()
Partager