【问题标题】:Spring Batch + Kafka: KafkaItemReader run forever?Spring Batch + Kafka:KafkaItemReader 永远运行?
【发布时间】:2021-03-08 22:15:28
【问题描述】:

我想做一些东西来持续监控一些 Kafka 主题,然后在消息进来时执行一些批处理作业(点击一些 REST api 并存储响应)。我用 KafkaItemReader 设置了一些东西,但是,如果它根据 pollTimeout 在 30 秒内没有收到消息,它就会关闭。我怎样才能让它无限期地运行?由于这不是一个明显的选择,我想知道我是否使用了正确的工具来完成这项工作。

【问题讨论】:

  • 可能的答案:你不应该这样做。 KafkaItemReader 适用于在给定其他触发器(例如调度程序)的情况下,您希望一次性读取 Kafka 主题上当前可用消息的情况。这不是持续监控主题的正确方法。我最终使用调用 @Async 助手的简单 Kafka 侦听器解决了我的问题。

标签: apache-kafka spring-batch


【解决方案1】:

可能的答案:你不应该这样做。

没错。批处理是关于处理有限的数据集。如果您的数据源是无限的记录流并且您希望对其进行持续监控,那么流式解决方案更适合您的用例。

【讨论】:

    猜你喜欢
    • 2020-05-08
    • 2020-06-27
    • 2018-09-30
    • 1970-01-01
    • 2016-10-31
    • 2018-05-19
    • 1970-01-01
    • 2014-05-20
    • 1970-01-01
    相关资源
    最近更新 更多