java 如何让Spring Integrations的jdbc入站通道适配器轮询新数据?

drnojrws  于 2023-02-11  发布在  Java
关注(0)|答案(1)|浏览(154)

我已经编写了jdbc入站适配器,如下所示

int-jdbc:inbound-channel-adapter id="jdbcInbound"
                                      channel="channel"
                                      data-source="dataSource"
                                      query="SELECT * FROM Trade"
                                      row-mapper="TradeRowMapper"
                                      max-rows-per-poll="100">
        <int:poller fixed-delay="60000" time-unit="SECONDS"/>
    </int-jdbc:inbound-channel-adapter>

这很好用。但是如果交易表中有新的记录,比如说一整天,新的记录都不会被拾取。我需要做什么改变来让它也轮询新的数据呢?这个适配器将持续运行5个工作日,周一到周五-它也应该读取所有的新记录。

hc2pp10m

hc2pp10m1#

参考文件对此进行了回答:
[...]适配器还具有UPDATE语句,该语句将记录标记为已处理,以便它们不会在下一次轮询中出现。
还有一个代码片段展示了如何使用它:

<int-jdbc:inbound-channel-adapter query="select * from item where status=2"
    channel="target" data-source="dataSource"
    update="update item set status=10 where id in (:id)" />

相关问题