Bonjour,
Depuis quelques jours je me prends pas mal la tête.
J'ai un jar inclus dans mon programme java.
Je lance une commande du jar depuis mon programme java et les résultats sortent sur la sortie stdout et stderr.
Comme j'ai besoin de ce résultat je me suis dis, pas de problème on va capturer les sorties en mémoire via ByteArrayOutputStream.
Sous eclipse -> pas de pb
En production, cela ne fonctionne pas, la sortie err n'est pas capturé et la commande est lancée avec du retard par rapport aux suites d'instructions de mon programme.
Je me suis dis : problème de thread.
Donc vas y implémente un thread. Bon, toujours pas de résultat. J'ai arrêté de vouloir charger la mémoire, j'ai suivi ce tuto https://blogs.oracle.com/nickstephen...system_out_and pour rediriger les sorties vers un fichier.
La je crée le thread à partir d'une fonction, la redirection, la commande et ré-applique System.out, Sytem.err aux anciennes valeurs.
Puis le thread est lance et .
Je ne capture toujours pas la sortie stderr mais la sortie sdtout, oui.
Désolé si je suis confus,
Là je suis perdu...
Merci
Partager