我想将本地进程的stdout流式传输到Vert.x HttpResponse。
为此,我认为我必须将java.io.InputStream
(将进程stdout流式传输)流/转换/管道传输到io.vertx.core.streams.ReadStream
,然后我可以通过管道将ReadStream
传输到HttpResponse
。
我正在寻找一种对内存影响很小的解决方案,所以在内存中读取整个标准输出,然后将其刷新到HttpResponse是不可能的。
谢谢
发布于 2021-02-13 09:45:56
查看:
https://gist.github.com/Stwissel/a7f8ce79785afd49eb2ced69b56335de
下面是我是如何使用它的:
InputStream is = ...
AsyncInputStream ais = new AsyncInputStream(
vertx, vertx.getOrCreateContext(), is);
ais.pipeTo(response);
发布于 2021-08-01 11:23:24
另一种方法是使用vertx-java.io库中的OutputToReadStream
类(我是作者):
new OutputToReadStream(vertx).wrap(inputStream).pipeTo(response);
https://stackoverflow.com/questions/66158455
复制相似问题