是否需要运行后台作业(job)来持续消费卡夫卡主题中的消息?

我try 在Kotlin中使用Kafka Kafka Consumer编写一个应用程序,有没有办法在不运行后台作业(job)的情况下使用来自Kafka的消息?

推荐答案

您不需要自己执行后台工作.把这件事留给框架吧.

您所需要做的就是将一个Micronaut Bean定义为KafkaListener.这documentation个国家如下:

使用@KafkaListener注释,Micronaut将构建一个KafkaConsumer,并通过在特殊的使用者线程池中运行KafkaConsumer来启动轮询循环

所以你应该做的是

@KafkaListener
class MyKafkaListener {

    @Topic("topic-you-want-to-listen-to")
    fun receive(@KafkaKey brand: String, name: String) { 
      // implement your listener
    }
}

希望这能作为一个简短的澄清而有所帮助.

Kotlin相关问答推荐

为什么Kotlin函数参数名会 destruct 方法调用?

如何避免使用公共类实现内部接口

如何在Android应用判断上运行多个查询

相当于roomdb中的DateTime Bigint列的是什么

如何使用子变量在 Kotlin 中初始化父级

如何缩短 MaterialTheme.colors.primary?

如何在 Kotlin 中为变量分配另一个变量的值?

如何从kotlin中的ArrayList中删除所有元素

错误:cannot find symbol import com.gourav.news.databinding.ActivityDetailBindingImpl;

Kotlin 代码是如何编译成原生代码的?

零安全的好处

TextField maxLength - Android Jetpack Compose

Kotlin:使用Gradle进行增量编译

API 26 上未显示 Android 通知

ObjectAnimator.ofFloat 不能直接在kotlin中取Int作为参数

如何让数据类在Kotlin中实现接口/扩展超类属性?

如何从协程范围返回值

如何在Kotlin中使用Handler和handleMessage?

如何在 firebase 数据库中使用 kotlin 协程

Kotlin:访问 when 语句的参数