Interface DeserializationFailureHandler<T>

  • Type Parameters:
    T - the expected type

    public interface DeserializationFailureHandler<T>
    Bean invoked on Kafka deserialization failure.

    Implementors must use @Identifier to provide a name to the bean. This name is then referenced in the channel configuration: mp.messaging.incoming.my-channel.[key|value]-deserialization-failure-handler=name.

    When a Kafka Record's key or value cannot be deserialized, this bean is called to provide a fallback value. null is an accepted fallback value. If this bean throws an exception, this is considered as a fatal failure and the application is reported unhealthy.

    • Method Detail

      • handleDeserializationFailure

        default T handleDeserializationFailure​(String topic,
                                               boolean isKey,
                                               String deserializer,
                                               byte[] data,
                                               Exception exception,
                                               org.apache.kafka.common.header.Headers headers)
        Handles a deserialization issue for a record's key or value.
        Parameters:
        topic - the topic
        isKey - whether the failure happened when deserializing a record's key.
        deserializer - the used deserializer
        data - the data that was not deserialized correctly
        exception - the exception
        headers - the record headers, extended with the failure reason, causes, and data. May also be null
        Returns:
        the fallback T