2016-11-05 5 views
1

Wie erhalte ich einen Fehler beim Schreiben des Kafka-Themas?Spring Cloud Stream an Kafka senden Fehlerbehebungsbehandlung

import org.springframework.cloud.stream.annotation.EnableBinding; 
import org.springframework.cloud.stream.annotation.StreamListener; 
import org.springframework.cloud.stream.messaging.Processor; 
import org.springframework.messaging.Message; 
import org.springframework.messaging.handler.annotation.SendTo; 
import org.springframework.stereotype.Component; 

import javax.xml.bind.JAXBException; 

@Component 
@EnableBinding(Processor.class) 
public class Parser { 

    @StreamListener(Processor.INPUT) 
    @SendTo(Processor.OUTPUT) 
    public String process(Message<?> input) { 

     // do smth 

     // how to catch an error if sending message to 'output' topic fails 
    } 

} 

Den Erzeuger in den synchronen Modus schalten.

spring.cloud.stream.kafka.bindings.output.producer.sync=true 

Was nun? Irgendwelche Beispiele? Verlängern Sie einige verbindliche Impl, fügen Sie etwas AOP Magie hinzu?

Antwort

0

Ich denke, was Sie brauchen, ist eine KafkaProducerListener registrieren, die das Fehlerszenario in Ihrem Fall behandelt und es als Bean in Ihrer Anwendung zur Verfügung stellen.

Für weitere Informationen über KafkaProducerListener ist here

Beachten Sie auch, dass in der Regel die gescheiterte Nachrichten auf errorChannel mit dem Kanalnamen error zur Verfügung stehen würde. Alle Fehlermeldungen werden veröffentlicht, sobald Sie den Namen destination für den Fehlerkanal konfiguriert haben: spring.cloud.stream.bindings.error.destination.

+0

Danke für die Eingabe. Ich hoffe wirklich, dass mein Ziel mit Spring Cloud Stream erreichbar ist. – user3665549

+0

Haben Sie eine Lösung mit Spring Cloud Stream gefunden? Es gibt überraschend wenig Dokumentation zur Fehlerbehandlung, ich habe den Zielfehlerkanal in meiner Konfiguration eingerichtet, aber es werden keine Fehler veröffentlicht. –

+0

Hallo, Dies wird hier angesprochen: https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/pull/125 –

Verwandte Themen