最近我在jersey中使用接口(interface)“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();
}
但是,如果在我“//立即响应某事”给客户之后,抛出了一些异常怎么办。
除了在部分正常响应之后等待特殊错误消息之外, 有什么方法可以处理这种情况吗??
最佳答案
如果在流式传输时出现错误,您几乎无能为力。您始终可以捕获异常,但无法还原已发送的响应。典型的情况是接收流的客户端突然变得不可用/中止下载。充其量你可以记录它。
关于java - 在 jersey 中使用 streamoutput 响应时,我已经刷新了一些输出后如何处理异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20514870/