我正在使用一个StreamingOutput
工作正常的泽西,直到我们升级到泽西岛2.16.这就是事情.StreamingOuput
在某些情况下,我的输出速度非常慢.我经常写数据,但我写的很慢,一次只是一点点.我叫flush()
上OutputStream
传递给StreamingOutput.write()
每一个我写任何字节的时间,但冲洗()似乎没有任何效果.在写入8K之前,没有任何东西通过电线发送OutputStream
.不幸的是,在某些情况下,到写入8K时,客户端已超时.
我下载了一些球衣源并通过一些调试,我看到OutputStream
传递到的write()
是一个UnCloseableOutputStream
包装CommittingOutputStream
.
在CommittingOutputStream
启用了缓冲,因此在冲洗()本质上是一个无操作直到响应被提交(完成).
所以,我在泡菜中.如何StreamingOutput
在整个响应完成之前使用(或以其他方式直接写入输出流)并强制它通过线路发送字节?还有其他方法可以用泽西这样做吗?我找不到任何方法ResponseBuilder
来做到这一点.我找不到任何关闭缓冲的方法.