Java 在jersey中使用streamoutput响应时,在我已经刷新了一些输出之后,如何处理异常?

Java 在jersey中使用streamoutput响应时,在我已经刷新了一些输出之后,如何处理异常?,java,rest,jersey,Java,Rest,Jersey,最近,我在jersey中使用接口“StreamingOutput”来流式传输我的json格式响应,例如: @GET @Path("/test") @Produces(MediaType.APPLICATION_JSON) public Response test(){ StreamingOutput stream = new StreamingOutput() { @Override public void write(OutputStream os)

最近,我在jersey中使用接口“StreamingOutput”来流式传输我的json格式响应,例如:

@GET
@Path("/test")
@Produces(MediaType.APPLICATION_JSON)
public Response test(){
    StreamingOutput stream = new StreamingOutput() {

        @Override
        public void write(OutputStream os) throws IOException,
        WebApplicationException {
            Writer writer = new BufferedWriter(new OutputStreamWriter(os));
                for( ...  loop ...) {
                    //response something immediatly
                    writer.write(somthing ...);
                writer.flush();
            }
        }
    };

    return Response.ok(stream).build();
}   
但是,如果在我“//立即响应某个内容”到客户机之后,抛出了一些异常,该怎么办呢

除了在部分正常响应后等待一条特殊错误消息之外,
有什么方法可以处理这种情况吗???

如果流媒体时出现错误,您几乎无法做任何事情。您始终可以捕获异常,但无法还原已发送的响应。典型的情况是,接收流的客户端突然变得不可用/中止下载。你最多只能把它记录下来