我想将本地进程的标准输出流式传输到Vert。x HttpResponse。
要做到这一点,我认为我必须流/转换/管道一个java.io.InputStream
(流的过程标准输出)到io.vertx.core.streams.ReadStream
,然后我可以管道ReadStream
到HttpResponse
。
我正在寻找一个解决方案,有一个小的内存影响,所以读取整个标准输出在内存中,然后刷新它到HttpResponse是不可能的。
感谢查看:
https://gist.github.com/Stwissel/a7f8ce79785afd49eb2ced69b56335de
我是这样使用的:
InputStream is = ...
AsyncInputStream ais = new AsyncInputStream(
vertx, vertx.getOrCreateContext(), is);
ais.pipeTo(response);
另一种方法是使用vertx-java中的OutputToReadStream
类。io库(我是作者):
new OutputToReadStream(vertx).wrap(inputStream).pipeTo(response);