在Jersey中将StreamingOutput用作响应实体的示例

在Jersey中将StreamingOutput用作响应实体的示例,jersey,Jersey,是否有人可以在Jersey中发布一个示例,说明如何将StreamingOutput设置为响应对象中的实体 我还没有找到这样的例子。看看这是否有帮助: @GET @生成(MediaType.TEXT\u PLAIN) 公共响应流示例(){ StreamingOutput stream=新的StreamingOutput(){ @凌驾 public void write(OutputStream os)引发IOException, WebApplicationException{ Writer Wr

是否有人可以在Jersey中发布一个示例,说明如何将
StreamingOutput
设置为
响应
对象中的实体

我还没有找到这样的例子。

看看这是否有帮助:

@GET
@生成(MediaType.TEXT\u PLAIN)
公共响应流示例(){
StreamingOutput stream=新的StreamingOutput(){
@凌驾
public void write(OutputStream os)引发IOException,
WebApplicationException{
Writer Writer=new BufferedWriter(new OutputStreamWriter(os));
编写(“测试”);

writer.flush();//aaaaa rrrrrrrrrrrrrrrrrrrr gh。我花了四个小时试图弄清楚为什么我的jersey rest服务没有流式传输文件。我没有刷新我的writer。太烦人了。谢谢你救了我!不幸的是,JAX-RS V 1.1规范和Java EE 6 Javadocs都没有指定是否应该关闭给定的输出流。Co根据前面的注释,我怀疑您确实应该调用OutputStream.close()而不是OutputStream.flush()。这可能会释放一些与输出流关联的内部资源@卢声远生源路你也可以使用
MessageBodyWriter
,但是这个问题是关于用
响应
对象进行流式处理的。使用
MessageBodyWriter
你有义务写入
输出流
。谢谢你的回答,但是我怎么才能从客户端的响应中得到这个StreamingOutput对象呢??@prongs+Nagyl:是的,我想出来了:InputStream is=ClientBuilder.newBuilder().register(MultiPartFeature.class).build().target(BASE_URI).path(“/yourservice”).request().get().readEntity(InputStream.class);(在一个“句子”中,最好将其拆分为客户端、目标和响应对象)