我正在尝试将数据从 postgres 摄取到另一个数据库,并且我正在使用 camel-jdbc 组件来执行此操作。我有一张大桌子,所以我想一次读取几行而不是整个桌子。所以我的路线如下所示(仅用于测试目的) from(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 行。当我从查询中删除“限制 10”时,我在 split 命令之前收到 Out of Memory 错误,它告诉我它试图将整个结果集加载到内存中。
我在这里错过了什么或者我做错了什么?
感谢帮助。