select 使用 apache camel 查询 sql 组件 returns 一次 1 行

select query using apache camel sql component returns 1 row at a time

我正在使用 spring dsl 并使用 sql-component 编写 sql 路由。 如果我查询returns 100行。问题是我的处理器被调用了 100 次。我每 60 秒轮询一次我的数据库。

所以我的 from 查询就像消息的生产者一样,一次只发送一行。

有什么方法可以在我的处理器中一次获得 100 行的完整结果集,以便我可以对这些数据采取行动?

<from uri="sql:{{sql.selectQuery}}?delay=60s"/>
<process ref="sqlProcessor" />

通过文档 (http://camel.apache.org/sql-component.html) 我发现

从 Camel 2.11 开始,此组件可以创建消费者(例如 from())和生产者端点(例如 to())。

然后我将路线更改为

<from uri="timer://sqltimer?period=60s"/>
<to uri="sql:{{sql.selectQuery}}"/>
<process ref="sqlProcessor" />

这很好用。 :)