Il s'agit d'un problème survenu lors de l'exécution du contenu de l'article ci-dessus.
Quand j'ai écrit à ʻOutputStream (= stdin) de
Process, cela ne s'est pas terminé même si
waitFor` avec une limite de temps.
Code problématique
//Essai d'exception-En supposant que la capture se fasse à l'extérieur
Process process = new ProcessBuilder(commands).start();
//Ecrire à stdin
OutputStream os = process.getOutputStream();
os.write(multipartFile.getBytes());
boolean result = process.waitFor(5, TimeUnit.SECONDS);
J'ai essayé de fermer OutputStream` et cela a été résolu, donc je pense que c'était probablement parce que j'ai dû attendre pour écrire sans fin.
Après avoir traité
//Essai d'exception-En supposant que la capture se fait à l'extérieur
Process process = new ProcessBuilder(commands).start();
//Ecrire à stdin
try (OutputStream os = process.getOutputStream()) {
os.write(multipartFile.getBytes());
}
boolean result = process.waitFor(5, TimeUnit.SECONDS);
Recommended Posts