架构

批处理消费者

师成师成· 更新于 2026-09-28· 阅读 6 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

批量消费者

批量消费者(Batch Consumer)本质上是一种轮询消费者,能够在一次轮询中获取多个 Exchange。

要支持批量处理,消费者必须实现 org.apache.camel.BatchConsumer 接口。

许多 Camel 组件都支持批量处理,例如:

选项

BatchConsumer 支持以下选项:

选项说明
maxMessagesPerPoll一个整数,用于定义每次轮询收集的最大消息数。默认情况下不设置上限。可用它来设置一个上限(例如 1000),以避免服务器启动时存在成千上万个文件的情况。将其设置为 0 或负数可禁用该限制,即不限制数量。

通常 BatchConsumer 是被调度执行的,并基于 ScheduledBatchPollingConsumer,该类提供了许多用于配置调度的选项。这些选项在 Components 文档的端点选项中以 (scheduler) 标签列出。

Exchange 属性

对于同一批次中轮询到的每个 Exchange,都会在该 Exchange 上设置以下属性。

属性说明
CamelBatchSize本次批次轮询到的 Exchange 总数。
CamelBatchIndex当前批次中的索引位置,从 0 开始。
CamelBatchComplete一个布尔值,表示是否为该批次中的最后一个 Exchange,仅最后一条记录为 true。

评论

登录后参与评论

正在加载评论…