为每个轮询获取特定的记录集,而不在camel中设置标志

时间:2014-03-19 18:29:16

标签: apache-camel

我需要从db中选择所有消息并将其发送以进行重新处理。

我的主要要求是

  1. 我应该只为每个民意调查获取一定数量的记录而不是所有记录。
  2. 下一次民意调查应该让我获得下一组记录并将其设置为进行处理。
  3. 我不应该在表格中使用processedFlag列 - 这是不允许的。
  4. 我可以自由使用任何驼峰组件,如jpa,sql,jdbc等。

    非常感谢帮助。

2 个答案:

答案 0 :(得分:0)

您可以按照此处所述使用批量消费者 - https://camel.apache.org/batch-consumer.html

答案 1 :(得分:0)

添加processedFlag等触发变量绝对是最简单的方法。最初,此变量设置为null

步骤:

  1. 选择obj.processedFlag is not null所有记录。
  2. 处理记录。
  3. 处理完毕后,将obj.processedFlag设置为值≠null
  4. 从1开始。
  5. 我猜测,不使用触发变量只会产生相当多的麻烦。