【发布时间】:2014-06-04 18:42:49
【问题描述】:
Jdbc 入站通道适配器依赖于更新查询来标记已处理的记录,这就是我们如何在后续轮询中仅检索未处理的记录的方式。这是有道理的,但我正在使用一个没有我可以修改的列以指示正在处理的记录的表。
我想知道我是否可以使用返回游标的存储过程,并且以某种方式有助于不必在内存中加载所有比如说百万条记录,并且仍然能够处理假设每个轮询 1000 条。
编辑:我正在使用 oracle
【问题讨论】:
Jdbc 入站通道适配器依赖于更新查询来标记已处理的记录,这就是我们如何在后续轮询中仅检索未处理的记录的方式。这是有道理的,但我正在使用一个没有我可以修改的列以指示正在处理的记录的表。
我想知道我是否可以使用返回游标的存储过程,并且以某种方式有助于不必在内存中加载所有比如说百万条记录,并且仍然能够处理假设每个轮询 1000 条。
编辑:我正在使用 oracle
【问题讨论】:
是的,你可以使用存储过程就可以了。为此,Spring Integration 建议使用 <int-jdbc:stored-proc-inbound-channel-adapter> 组件。
Here你可以找到样品。
【讨论】:
poll 调用过程,它取决于最后一个,如何从数据库返回数据。如果是cursor,则应提供RowMapper 以将该数据填充为List<?>。并且适配器将发送一条消息,该列表是Map<String, ?> 有效负载的一部分。在我们的文档中查看更多信息:docs.spring.io/spring-integration/docs/latest-ga/reference/html/…