Spring-Kafka 中没有匹配监听器的消息会怎样?

What happens to messages with no matching Listener in Spring-Kafka?

我对@KafkaListener的理解是,消息是通过匹配监听器方法的参数类型和消息类型来消费的。

没有匹配监听器的消息会怎样?

不清楚你的意思。是什么让您相信这一点?

@KafkaListener on a Method 意味着每个方法都有一个消费者(侦听器容器),因此所有方法都会获取所有记录(除非它们在同一个消费者组中或您手动分配分区) .

Class 上的

@KafkaListener 意味着您必须使用 @KafkaHandler 注释多个方法,框架将根据反序列化的有效负载找到要调用的处理程序方法;值反序列化器必须能够反序列化预期的多种类型。

您可以指定一个 @KafkaHandler 作为 default 处理程序(如果没有匹配则调用它)- 通常使用 Object 参数。

如果没有匹配且没有默认处理程序方法,则记录转到配置的 ErrorHandler

默认的错误处理程序会记录失败,但您可以添加自己的错误处理程序来执行任何您想要的操作。