【问题标题】:Rest calls-Large amount of data between calls休息呼叫 - 呼叫之间的大量数据
【发布时间】:2014-01-12 15:44:03
【问题描述】:

我们在 Jersey 中使用 Rest。服务器(WAS 8.5)向客户端发送大量数据的场景很少,即RCP应用程序。在某些情况下,xml 格式的数据非常庞大(150MB),以至于客户端会收到OutOfMemoryError 异常。 我有以下问题

  1. 在xml中转换java对象时大小增加了多少?
  2. 我们如何将大型 java 对象发送到客户端并仍然使用 rest 调用?

【问题讨论】:

  • 1) 取决于使用的 XML 模式。 2) 海量数据与 REST 有什么关系?

标签: java rest


【解决方案1】:

1) 没有看到 XML 模式就很难回答这个问题,我见过设计良好的模式会导致紧凑、精简的 XML 以及其他混乱且非常臃肿的模式。要对其进行测试,请编写一些测试代码,将您的 Java 对象序列化为 byte[],并将其大小与您当前生成的 XML 有效负载进行比较。

2) 可能值得研究分块过程,150MB 对于单个有效负载来说相当大。您还为此使用 GZIP 压缩吗?也可能值得关注Fast Infoset。基本上它是 XML 的二进制编码,通常有助于减小 XML 文档的大小。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多