Rom*_*gan 1 apache-kafka spring-scheduled kafka-consumer-api spring-kafka
我们试图在指定的窗口时间从 Kafka 读取数据(所以我们有 Kafka 消费者),这意味着避免在其他时间读取数据。但是,我们不确定如何在时间段到期后关闭消费者。我想知道是否有任何示例可以说明如何做到这一点?非常感谢您帮助我们。
您可以使用KafkaListenerEndpointRegistry和方法
@KafkaListener Lifecycle Management禁用autoStartup然后手动启动 kafkacontainers startstop
public class KafkaConsumer {
@Autowired
private KafkaListenerEndpointRegistry registry;
@KafkaListener(id = "myContainer", topics = "myTopic", autoStartup = "false")
public void listen(...) { ... }
@Schedule(cron = "")
public void scheduledMethod() {
registry.start();
registry.stop()
}
Run Code Online (Sandbox Code Playgroud)
但是在上述方法中,不能保证在该时间范围内会消耗来自 kafka 的所有消息(这取决于负载和处理速度)
| 归档时间: |
|
| 查看次数: |
2509 次 |
| 最近记录: |