Bonjour tout le monde.
Je travaille sur deux trois classes destinés à faire communiquer deux processus de mon API via des objects.
Le fonctionnement se veut le plus simple possible : une classe du process A crée le process B. Ce faisant, A se garde sous le coude un object input stream et un object output stream correspondant à B, et les deux communiquent à l'aide d'object serializés prévus à cet effet.
Histoire de rester propre j'ai donc prévu les dites deux trois classes dédié à la comm'. Et je bloque bêtement au début :
Pour tester j'appelle ce constructeur avec System.in, System.out et System.err. Le ObjectOutputStream passe, puis ça freeze sur le ObjectInputStream(stdInput). Pas de message d'erreur, pas de plantage, juste bloque - plus rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public StreamChannel(InputStream stdInput, OutputStream try { objectOutput = new ObjectOutputStream(stdOutput); objectInput = new ObjectInputStream(stdInput); } catch (IOException e) { getLog().getLogger().severe( "Unable to create object stream ! " + e.getMessage()); } }
Ce n'est pas l'usage normal prévu qui lui s'apparente plutôt à ça
Mais j'aimerai bien savoir quel est le problème quand même, si quelqu'un sait ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 process = rt.exec("D:\\...\\start.bat"); InputStream is = process.getInputStream(); StreamChannel st = new StreamChannel(is,...)
Partager