【问题标题】:JAVA: Chunked Tranfer over JerseyJAVA:泽西岛的分块传输
【发布时间】:2013-08-29 05:59:19
【问题描述】:

我正在运行一个 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();
}

【问题讨论】:

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


    【解决方案1】:

    你的场景听起来像server push

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

    【讨论】:

    • 是的,类似于服务器推送,由客户端的请求发起。是否有可能在客户端不进行太大更改的情况下实现这一目标?
    • 恐怕有些改变是绝对必要的。服务器推送与经典的请求-响应模式完全不同。
    猜你喜欢
    • 2011-08-26
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-13
    • 2013-12-21
    相关资源
    最近更新 更多