Problème sur l'execution d'un Jar par un Exe
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 :
Code:
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();
} |
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).
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 :furax::furax::furax::furax::furax: