关闭 JAX-RS StreamingOutput 的 OutputStream
Closing JAX-RS StreamingOutput's OutputStream
StreamingOutput
的 OutputStream
是否应该由实施 class 关闭?
java-doc 没有给出任何建议。我猜它只是委托给底层的 ServletOutputStream
,这意味着它不应该被关闭,但我的猜测可能是错误的 :) 另外 javadoc 引用了 MessageBodyWriter
接口明确表示不得关闭输出流。
https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/StreamingOutput.html
由于无法找到明确的答案,我查看了球衣的来源作为参考实现。在泽西岛,StreamingOutput
由 MessageBodyWriter
处理,只需调用 streamingOutput.write(os)
[1],其中 os
是传递给 MessageBodyWriter
的 OutputStream
。这很好,因为它的 javadoc 非常清楚这个 OutputStream
不能 被关闭。
总结一下:传递给StreamingOutput
的OutputStream
不能关闭。
StreamingOutput
的 OutputStream
是否应该由实施 class 关闭?
java-doc 没有给出任何建议。我猜它只是委托给底层的 ServletOutputStream
,这意味着它不应该被关闭,但我的猜测可能是错误的 :) 另外 javadoc 引用了 MessageBodyWriter
接口明确表示不得关闭输出流。
https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/StreamingOutput.html
由于无法找到明确的答案,我查看了球衣的来源作为参考实现。在泽西岛,StreamingOutput
由 MessageBodyWriter
处理,只需调用 streamingOutput.write(os)
[1],其中 os
是传递给 MessageBodyWriter
的 OutputStream
。这很好,因为它的 javadoc 非常清楚这个 OutputStream
不能 被关闭。
总结一下:传递给StreamingOutput
的OutputStream
不能关闭。