如何从 InputStream 创建 Vert.x ReadStream

b1z*_*zzu 5 java vert.x reactivex

我想将本地进程的标准输出流式传输到 Vert.x HttpResponse。

为此,我认为我必须将 a java.io.InputStream(将进程标准输出流式传输)流式传输/转换/管道传输到 an io.vertx.core.streams.ReadStream,然后我可以将其通过管道传输ReadStreamHttpResponse.

我正在寻找一种对内存影响较小的解决方案,因此读取内存中的整个标准输出然后将其刷新到 HttpResponse 是不可能的。

谢谢

小智 3

查看:

https://gist.github.com/Stwissel/a7f8ce79785afd49eb2ced69b56335de

这是我的使用方法:

InputStream is = ...
          AsyncInputStream ais = new AsyncInputStream(
            vertx, vertx.getOrCreateContext(), is);
          ais.pipeTo(response);
Run Code Online (Sandbox Code Playgroud)