gpt4 book ai didi

apache-kafka - Spring Boot Kafka监听器vs消费者

转载 作者:行者123 更新时间:2023-12-03 13:54:21 28 4
gpt4 key购买 nike

有什么不同?术语KafkaConsumer和KafkaListener可以互换使用吗?

最佳答案

@KafkaListenerConcurrentMessageListenerContainer的高级API,它在KafkaConsumer周围产生了多个内部监听器。

不同之处在于,只要您需要时调用KafkaConsumer,就可以根据需要轮询poll() API。监听器抽象即将在该poll()周围无限循环,并且每当它们从poll()出现时,它都会生成记录消息。我们有一个任务执行器,它运行如下逻辑:

        while (isRunning()) {
try {
pollAndInvoke();
}
catch (@SuppressWarnings(UNUSED) WakeupException e) {
// Ignore, we're stopping
}
catch (NoOffsetForPartitionException nofpe) {
this.fatalError = true;
ListenerConsumer.this.logger.error("No offset and no reset policy", nofpe);
break;
}
catch (Exception e) {
handleConsumerException(e);
}
catch (Error e) { // NOSONAR - rethrown
Runnable runnable = KafkaMessageListenerContainer.this.emergencyStop;
if (runnable != null) {
runnable.run();
}
this.logger.error("Stopping container due to an Error", e);
wrapUp();
throw e;
}
}

在该 KafkaConsumer.poll()中调用 pollAndInvoke();

关于apache-kafka - Spring Boot Kafka监听器vs消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55497363/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com