如何在 Spring Boot-Kotlin 中的 @KafkaListener 注释中使用 @TopicPartition

How to use @TopicPartition inside @KafkaListener annotation in Spring Boot-Kotlin

我是 Spring-Kafka 的新手,我创建了一个名为 KafkaListeners 的 class 来读取来自 kafka 代理的消息。但是,侦听器没有在控制台中打印旧消息。所以,我在我的侦听器方法上添加了 @TopicPartition 注释。但是,我遇到如下错误信息:

An annotation can't be used as the annotations argument

脚本:

    @KafkaListener(
        topicPartitions = @TopicPartition(topic = "demo",
            partitionOffsets = {
                @PartitionOffset(partition = "0", initialOffset = "0")
            }
        )
    )
    fun listenerDemo(data: Any?){
        println(data)
    }

如图:

我在 java 中看到了 @TopicPartition 的用法,它是 运行 但它不在 kotlin 中。

谢谢。

Kotlin 配置必须是这样的:

    @KafkaListener(
        topicPartitions = [TopicPartition(topic = "demo",
            partitionOffsets = 
                [PartitionOffset(partition = "0", initialOffset = "0")]
        )]
    )

那些嵌套注释必须没有 @ 并且由于那些属性是数组,我们必须将这些嵌套注释也指定为数组。