我认为Jersey Async文档很好地解决了这个问题。这是一个简短的摘要:
@Path("/async/longRunning")public class MyResource { @GET public void longRunningOp(@Suspended final AsyncResponse ar) { executor.submit( new Runnable() { public void run() { executeLongRunningOp(); ar.resume("Hello async world!"); } }); }}
在文档中引用以下报价时:
请注意,使用服务器端异步处理模型不会缩短客户端感知的请求处理时间。(…)
我想你误会了一点。文档的作者试图在这里表达的是,异步处理不会仅仅靠自身来加快处理速度。但是可以使用以下示例立即返回响应:
return Response.status(Status.ACCEPTED).build();
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)