【发布时间】:2016-12-22 07:27:18
【问题描述】:
需要在Java 中实现客户端和服务器应用程序。该场景需要从服务器端的数据库中读取大量小对象并发送给客户端。
- 这与传输大文件无关,而是需要将大量小对象流式传输到客户端。
- 需要在单个请求中从服务器发送到客户端的对象数量可能是一百万或一百万(为了讨论,我们假设客户端的数量是有限的 - 忽略限制)。
- 在大多数情况下,对象的总大小太大而无法将它们保存在内存中。一种将服务器端的读取和发送操作推迟到需要客户端请求对象的方法。
根据我之前的经验,.NET的WCF框架支持上面的场景
-
transferMode的StreamedResponse - 能够返回
IEnumerable个对象 - 借助
yield延迟序列化
是否有一个 Java 框架可以根据对象的请求流式传输对象,同时保持与客户端的连接打开?
注意:这听起来像是一个非常笼统的问题,但我希望提供具体的细节,希望能得到一个明确的答案,使我和其他可能的人受益。
【问题讨论】:
-
因此,为了提高效率,不要让 Java 服务器请求数据,然后它会代表某个客户端进行序列化......为什么不简单地拥有一个客户端可以请求的 REST 服务器它的对象直接?是的,该框架被称为 Java EE,除了没有与客户端打开连接(无论如何您真的不想计划;这样的策略是非常不可扩展的)。
标签: java serialization