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 :

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());
		}
	}
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.
Ce n'est pas l'usage normal prévu qui lui s'apparente plutôt à ça

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,...)
Mais j'aimerai bien savoir quel est le problème quand même, si quelqu'un sait ?