Jdbc 使用Mule ESB从数据库处理大型数据集:如何根据特定的批量大小更新处理过的记录?

Jdbc 使用Mule ESB从数据库处理大型数据集:如何根据特定的批量大小更新处理过的记录?,jdbc,mule,esb,Jdbc,Mule,Esb,我有一大组记录要处理,例如:100000条记录。我的用例有4个步骤: 使用jdbc入站适配器从数据库表中拾取记录 将记录转换为xml格式 将消息发布到队列中 然后,在处理同一记录时,使用某些状态标志更新该记录,以便不再拾取该记录 我不想一次从表中挑选所有记录进行处理:有没有一种方法可以让我分批挑选,而不想为一条记录更新表?是否有批量/批量更新的选项 或者有其他更好的方法来处理这个用例吗?非常感谢您的建议。我将编写SQL select查询,以仅返回N条记录(如LIMIT 100或等效项),并使用w

我有一大组记录要处理,例如:100000条记录。我的用例有4个步骤:

  • 使用jdbc入站适配器从数据库表中拾取记录
  • 将记录转换为xml格式
  • 将消息发布到队列中
  • 然后,在处理同一记录时,使用某些状态标志更新该记录,以便不再拾取该记录
  • 我不想一次从表中挑选所有记录进行处理:有没有一种方法可以让我分批挑选,而不想为一条记录更新表?是否有批量/批量更新的选项


    或者有其他更好的方法来处理这个用例吗?非常感谢您的建议。

    我将编写SQL select查询,以仅返回N条记录(如
    LIMIT 100
    或等效项),并使用where子句根据状态标志排除已处理的记录。

    您可以保存上一次处理的id(任意位置),而不使用状态标志并不断更新此记录,直到您处理完所有记录。。您的选择是先选择最后处理的id,然后选择批次,然后更新最后处理的id?这听起来不错,但是如何使用JDBC入站端点来定期轮询数据库中的记录呢?我想你会使用
    路由器或
    quartz
    端点吗?嗨,大卫,但是另一个怎么办records@DavidDossot是的,我想是的。只是建议如果他没有status flag列或不想创建一列。@user2044172在这种情况下,一个单词给智者是不够的:P我认为缺少了一些东西:P