【问题标题】:Streaming results of JDBC query with playframework and ebean使用 playframework 和 ebean 流式处理 JDBC 查询的结果
【发布时间】:2012-01-26 12:39:42
【问题描述】:
有没有办法(最好使用 Ebean)从服务器获取 ResultSet 流?
(就像 JDBC ResultSet.setFetchSize 一样)。
另外,如果可能的话,是否可以在同一个结果列表上动态调整提取大小?
我问这个是因为我正在 Play 框架中开发异步 Web 服务
我想尽快将结果返回(或流式传输)给客户
就像我理解的那样,使用 node.js 是可能的。
我想使用 Postgresql 作为数据库。
【问题讨论】:
标签:
jdbc
playframework
playframework-2.0
ebean
【解决方案1】:
尝试将defaultFetchSize=-2147483648 添加到您的 mysql 连接中,例如:
jdbc:mysql://192.168.10.1/DBNAME?defaultFetchSize=-2147483648
【解决方案2】:
您想要的是异步处理请求,在其中您以几个片段的形式返回答案。 Play 1.x 和 Play 2.0 都有关于它的文档。
我可能错了,但我相信不可能直接从请求流式传输到数据库,你要做的是创建一个对数据库的异步请求,一旦你得到你想要的行,你就迭代结果并将答案返回给客户。请参阅上面链接的示例。