JAVA:在泽西岛上进行分段转移

时间:2013-08-29 05:59:20

标签: java web-services rest jersey chunked-encoding

我有一个运行的Web服务,将由客户端移动应用程序使用。其中一项服务是返回一组JSON对象(超过1000个对象),每个对象都有相当大的尺寸。服务器端的整个计算需要一些时间,这不是一个好的用户体验。所以我希望以块的形式发送数据,比如说每个块有10个对象,这样这个数据就占据了屏幕,当他滚动时,或者当数据准备就绪时,屏幕上充满了新收到的来自最新块的数据

我使用Jersey框架并发送Java Response对象作为返回对象。在这种情况下是否有可能实现分块传输?代码是这样的。

@Path("/doSomething")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response doSomething() {

    List<Object> myObj = getMyObj();
    /* getMyObj returns a list of Objects, each object of considerable size
    * the whole computation of getMyObj takes some time
    */
    return Response.ok(myObj).build();
}

1 个答案:

答案 0 :(得分:1)

您的情况听起来像server push

您可以尝试在泽西服务中使用Atmosphere框架来实现目标。