Package com.bakdata.kafka
Class AvroDeadLetterConverter
- java.lang.Object
-
- com.bakdata.kafka.AvroDeadLetterConverter
-
- All Implemented Interfaces:
com.bakdata.kafka.DeadLetterConverter<DeadLetter>
public final class AvroDeadLetterConverter extends java.lang.Object implements com.bakdata.kafka.DeadLetterConverter<DeadLetter>
Convert aDeadLetterDescriptionto an AvroDeadLetter
-
-
Constructor Summary
Constructors Constructor Description AvroDeadLetterConverter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <V> org.apache.kafka.streams.kstream.ValueTransformerSupplier<com.bakdata.kafka.ProcessingError<V>,DeadLetter>asTransformer(java.lang.String description)Creates a transformer that uses the AvroDeadLetterConverterDeadLetterconvert(com.bakdata.kafka.DeadLetterDescription deadLetterDescription)
-
-
-
Method Detail
-
convert
public DeadLetter convert(com.bakdata.kafka.DeadLetterDescription deadLetterDescription)
- Specified by:
convertin interfacecom.bakdata.kafka.DeadLetterConverter<DeadLetter>
-
asTransformer
public static <V> org.apache.kafka.streams.kstream.ValueTransformerSupplier<com.bakdata.kafka.ProcessingError<V>,DeadLetter> asTransformer(java.lang.String description)
Creates a transformer that uses the AvroDeadLetterConverter// Example, this works for all error capturing topologies final KeyValueMapper<K, V, KeyValue<KR, VR>> mapper = ...; final KStream<K, V> input = ...; final KStream<KR, ProcessedKeyValue<K, V, VR>> processed = input.map(captureErrors(mapper)); final KStream<KR, VR> output = processed.flatMapValues(ProcessedKeyValue::getValues); final KStream<K, ProcessingError<V>> errors = processed.flatMap(ProcessedKeyValue::getErrors); final KStream<K, DeadLetter> deadLetters = errors.transformValues( AvroDeadLetterConverter.asTransformer("Description")); deadLetters.to(ERROR_TOPIC);- Type Parameters:
V- type of the input value- Parameters:
description- shared description for all errors- Returns:
- a transformer supplier
-
-