Ich habe mehrere Produzenten, die mehrere Arten von Ereignissen an ein Kafka-Thema senden können.Spring kafka Mehrere Nachrichtentypen in einem Consumer konsumieren
Und ich habe einen Verbraucher, der alle Art von Nachricht verbrauchen muss. mit unterschiedlicher Logik für jede Art von Nachricht.
@KafkaListener(topics = "test", containerFactory = "kafkaListenerContainerFactory")
public void handleEvent(Message<EventOne> event) {
logger.info("event={}", event);
}
Aber in diesem Fall alle Nachrichten an dieser Methode kommen EventOne nicht nur
Wenn ich zwei Verfahren implementieren (für jede Art von Nachricht) dann alle Nachrichten kommen, um nur eine Methode.
Wenn ich Zuhörer wie dies umzusetzen:
@KafkaListener(topics = "test", containerFactory = "kafkaListenerContainerFactory")
public void handleEvent(Message<?> event) {
logger.info("event={}", event);
}
dann bekomme ich Ausnahme: org.springframework.kafka.KafkaListenerEndpointContainer # 0-0-kafka-Hörer-1] ERROR org.springframework.kafka.listener .LoggingErrorHandler - Fehler beim Verarbeiten: ConsumerRecord java.lang.IllegalArgumentException: Unbekannter Typ: [null]
Bitte sagen Sie mir, wie ich mehrere Typ Verbraucher implementieren kann?