Ich habe eine endlose InputStream
mit einigen Daten, die ich als Antwort auf eine GET
HTTP-Anfrage zurückgeben möchte. Ich möchte, dass mein Web/API-Client endlos daraus liest. Wie kann ich es mit JAX-RS machen? Ich versuche das:So streamen Sie einen endlosen InputStream mit JAX-RS
@GET
@Path("/stream")
@Produces(MediaType.TEXT_PLAIN)
public StreamingOutput stream() {
final InputStream input = // get it
return new StreamingOutput() {
@Override
public void write(OutputStream out) throws IOException {
while (true) {
out.write(input.read());
out.flush();
}
}
};
}
Aber Inhalt erscheint nicht für den Client. Wenn ich jedoch OutputStream#close()
hinzufüge, liefert der Server den Inhalt genau in diesem Moment. Wie kann ich es wirklich streamable machen?
ich es nur für endliche Dateien verwendet haben, aber vielleicht könnten Sie – Thomas
versuchen produzieren MediaType.APPLICATION_OCTET_STREAM versucht, dass keine Wirkung :( – yegor256
Welche JAX-RS-Implementierung verwenden Sie? – bdkosher