Spring 启动Kafka批量转发

Spring Boot Kafka Batch Forwarding

我已将我的消费者配置为批量接受来自某个主题的消息。如何转发到新主题?

我希望每条消费的消息都作为自己的消息转发。因此 X 条消息消耗量将产生 X 条消息。

这是我当前的设置:

@KafkaListener(topics = "input")
@SendTo("output")
public ConsumerRecords consume(ConsumerRecords records) {
  // Do things
  return records;
}

这是抛出的异常:

org.springframework.kafka.KafkaException: No method found for class java.util.ArrayList

不支持该功能。在任何情况下,您都不能将 ConsumerRecord 发送到 Producer

尽管如此

@KafkaListener(id = "foo", topics = "input")
@SendTo("output")
public List<String> consume(List<String> data) {
    return data;
}

(其中 String 是反序列化器创建的类型)。