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
。
默认的错误处理程序会记录失败,但您可以添加自己的错误处理程序来执行任何您想要的操作。
我对@KafkaListener的理解是,消息是通过匹配监听器方法的参数类型和消息类型来消费的。
没有匹配监听器的消息会怎样?
不清楚你的意思。是什么让您相信这一点?
@KafkaListener
on a Method
意味着每个方法都有一个消费者(侦听器容器),因此所有方法都会获取所有记录(除非它们在同一个消费者组中或您手动分配分区) .
Class
上的 @KafkaListener
意味着您必须使用 @KafkaHandler
注释多个方法,框架将根据反序列化的有效负载找到要调用的处理程序方法;值反序列化器必须能够反序列化预期的多种类型。
您可以指定一个 @KafkaHandler
作为 default
处理程序(如果没有匹配则调用它)- 通常使用 Object
参数。
如果没有匹配且没有默认处理程序方法,则记录转到配置的 ErrorHandler
。
默认的错误处理程序会记录失败,但您可以添加自己的错误处理程序来执行任何您想要的操作。