繁体   English   中英

在 Spring Boot 应用程序中实现 Reactive Kafka Listener

[英]Implement Reactive Kafka Listener in Spring Boot application

我正在尝试在我的 Spring 启动应用程序中实现反应式 kafka 消费者,我正在查看这些示例: https://github.com/reactor/reactor-kafka/blob/master/reactor-kafka-samples/src/main /java/reactor/kafka/samples/SampleScenarios.java

看起来反应式卡夫卡还不支持 Spring

我了解 kafka 侦听器如何在 Spring 中的非反应性 kafka API 中工作:最简单的解决方案是为 ConcurrentKafkaListenerContainerFactory 和 ConsumerFactory 配置 bean,然后使用 @KafkaListener 注释和瞧

但我不确定现在如何在 Spring 中正确使用反应式 kafka。

基本上我需要一个话题的听众。 我应该自己创建某种循环或调度程序吗? 或者也许我错过了什么。 任何人都可以分享他们的知识和最佳实践吗?

我还没有现成的解决方案,但我正在尝试这个(Kotlin 代码,Spring Boot)。 有人在这里发布了这段代码片段的一部分https://github.com/reactor/reactor-kafka/issues/100

@EventListener(ApplicationStartedEvent::class)
fun onSomeEvent() {
    kafkaReceiver
        .receive()
        .doOnNext { record ->
            val myEvent = record.value()
            processMyEvent(myEvent).thenEmpty {
                record.receiverOffset().acknowledge()
            }
        }
        .doOnError {
            /* todo */
        }
        .subscribe()
}

查看其他堆栈溢出问题。 那里没有太多,但也许会给你一些想法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM