レスポンスオブジェクト経由でProcessBuilderの出力をストリーミングしようとしています。今は、プロセスが完了した後にのみクライアント側で出力が得られます。私はクライアント側の出力が同時に印刷されるのを見たいと思います。現在のところ、これは私のコードであり、プロセスが完了した後にクライアント側(POSTMAN)のすべてを出力します。Jerseyレスポンスオブジェクト経由でOutputStreamを同時にストリームする方法
StreamingOutput stream = new StreamingOutput() {
@Override
public void write(OutputStream os) throws IOException, WebApplicationException {
String line;
Writer writer = new BufferedWriter(new OutputStreamWriter(os));
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
try {
while ((line = input.readLine()) != null) {
writer.write("TEST");
writer.write(line);
writer.flush();
os.flush();;
}
} finally {
os.close();
writer.close();
}
}
};
return Response.ok(stream).build();
これを見てくださいhttps://dzone.com/articles/jerseyjax-rs-streaming-json – gladiator