Class CommonLoggingErrorHandler

java.lang.Object
org.springframework.kafka.listener.CommonLoggingErrorHandler
All Implemented Interfaces:
CommonErrorHandler, DeliveryAttemptAware

public class CommonLoggingErrorHandler extends Object implements CommonErrorHandler
The CommonErrorHandler implementation for logging exceptions.
Since:
2.8
Author:
Gary Russell
  • Constructor Details

    • CommonLoggingErrorHandler

      public CommonLoggingErrorHandler()
  • Method Details

    • isAckAfterHandle

      public boolean isAckAfterHandle()
      Description copied from interface: CommonErrorHandler
      Return true if the offset should be committed for a handled error (no exception thrown).
      Specified by:
      isAckAfterHandle in interface CommonErrorHandler
      Returns:
      true to commit.
    • setAckAfterHandle

      public void setAckAfterHandle(boolean ackAfterHandle)
      Description copied from interface: CommonErrorHandler
      Set to false to prevent the container from committing the offset of a recovered record (when the error handler does not itself throw an exception).
      Specified by:
      setAckAfterHandle in interface CommonErrorHandler
      Parameters:
      ackAfterHandle - false to not commit.
    • handleOne

      public boolean handleOne(Exception thrownException, org.apache.kafka.clients.consumer.ConsumerRecord<?,?> record, org.apache.kafka.clients.consumer.Consumer<?,?> consumer, MessageListenerContainer container)
      Description copied from interface: CommonErrorHandler
      Handle the exception for a record listener when CommonErrorHandler.seeksAfterHandling() returns false. Use this to handle just the single failed record.
      Specified by:
      handleOne in interface CommonErrorHandler
      Parameters:
      thrownException - the exception.
      record - the record.
      consumer - the consumer.
      container - the container.
      Returns:
      true if the error was "handled" or false if not and the container will re-submit the record to the listener.
      See Also:
    • handleBatch

      public void handleBatch(Exception thrownException, org.apache.kafka.clients.consumer.ConsumerRecords<?,?> data, org.apache.kafka.clients.consumer.Consumer<?,?> consumer, MessageListenerContainer container, Runnable invokeListener)
      Description copied from interface: CommonErrorHandler
      Handle the exception for a batch listener. The complete ConsumerRecords from the poll is supplied. The error handler needs to perform seeks if you wish to reprocess the records in the batch.
      Specified by:
      handleBatch in interface CommonErrorHandler
      Parameters:
      thrownException - the exception.
      data - the consumer records.
      consumer - the consumer.
      container - the container.
      invokeListener - a callback to re-invoke the listener.
    • handleOtherException

      public void handleOtherException(Exception thrownException, org.apache.kafka.clients.consumer.Consumer<?,?> consumer, MessageListenerContainer container, boolean batchListener)
      Description copied from interface: CommonErrorHandler
      Called when an exception is thrown with no records available, e.g. if the consumer poll throws an exception.
      Specified by:
      handleOtherException in interface CommonErrorHandler
      Parameters:
      thrownException - the exception.
      consumer - the consumer.
      container - the container.
      batchListener - true if the listener is a batch listener.