Class KafkaBlockingRetryDeadLetterRecoverer

java.lang.Object
com.broadleafcommerce.common.messaging.retry.kafka.KafkaBlockingRetryDeadLetterRecoverer
All Implemented Interfaces:
BiConsumer<org.apache.kafka.clients.consumer.ConsumerRecord<?,?>,Exception>, org.springframework.kafka.listener.ConsumerRecordRecoverer

public class KafkaBlockingRetryDeadLetterRecoverer extends Object implements org.springframework.kafka.listener.ConsumerRecordRecoverer
Recoverer for blocking retry that will forward the message to a dead letter queue.
See Also:
  • Constructor Details

    • KafkaBlockingRetryDeadLetterRecoverer

      public KafkaBlockingRetryDeadLetterRecoverer(com.broadleafcommerce.common.extension.compatibility.support.messaging.TimeoutAwareStreamBridge streamBridge, String dlq, String consumerBinding, String group, org.springframework.core.convert.converter.Converter<String,String> traceTruncator)
  • Method Details

    • accept

      public void accept(org.apache.kafka.clients.consumer.ConsumerRecord<?,?> consumerRecord, Exception e)
      Specified by:
      accept in interface BiConsumer<org.apache.kafka.clients.consumer.ConsumerRecord<?,?>,Exception>
    • convertHeader

      protected Object convertHeader(String key, byte[] header)
      Convert the byte array version of a header from ConsumerRecord to a string
      Parameters:
      key - The header key
      header - The byte array version
      Returns:
      The converted String value
    • getRoot

      protected Exception getRoot(Exception e)
      Retrieve the relevant root exception for reporting as a header on the message
      Parameters:
      e - The exception
      Returns:
      The relevant root exception