首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >camel jdbc内存不足异常

camel jdbc内存不足异常
EN

Stack Overflow用户
提问于 2016-05-24 00:22:13
回答 1查看 813关注 0票数 0

我正在尝试将postgres中的数据摄取到另一个DB中,并且我正在使用camel-jdbc组件来完成此操作。我有一个很大的表,所以我想一次读取几行,而不是整个表。因此,我的路由如下所示(仅用于测试目的),来自(FromUri).setBody(“select* from table limit 10").to("jdbc://myDataSource?resetAutoCommit=false&statement.fetchSize=2").split(body()).streaming().process(test)

如上所示,出于测试目的,我一次只接收10行,并且我将fetchSize设置为2,以便一次只接收2行。但是,我仍然总共收到了所有10行。当我从查询中删除"limit 10“时,就在split命令之前,我得到了Out of memory错误,这告诉我它试图将整个结果集加载到内存中。

我在这里遗漏了什么,或者我做错了什么?

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-05-24 20:50:38

我认为fetchSize更多地是对JDBC驱动程序的一种暗示。你可以使用maxRows选项在服务器端进行真正的限制,例如statement.maxRows=2。您可以在JDBC javadoc文档上阅读有关这些选项的更多信息。

https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37395970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档