Class DeliveryAttemptAwareRetryListener
java.lang.Object
org.springframework.kafka.listener.DeliveryAttemptAwareRetryListener
- All Implemented Interfaces:
RetryListener
The DeliveryAttemptAwareRetryListener class for
RetryListener
implementations.
The DeliveryAttemptAwareRetryListener adds the KafkaHeaders
.DELIVERY_ATTEMPT header
to the record's headers when batch records fail and are retried.
Note that DeliveryAttemptAwareRetryListener modifies the headers of the original record.- Since:
- 3.3
- Author:
- Sanghyeok An
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
failedDelivery
(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, Exception ex, int deliveryAttempt) Called after a delivery failed for a record.void
failedDelivery
(org.apache.kafka.clients.consumer.ConsumerRecords<?, ?> records, Exception ex, int deliveryAttempt) Invoke after delivery failure for batch records.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.kafka.listener.RetryListener
recovered, recovered, recoveryFailed, recoveryFailed
-
Constructor Details
-
DeliveryAttemptAwareRetryListener
public DeliveryAttemptAwareRetryListener()
-
-
Method Details
-
failedDelivery
public void failedDelivery(org.apache.kafka.clients.consumer.ConsumerRecord<?, ?> record, Exception ex, int deliveryAttempt) Description copied from interface:RetryListener
Called after a delivery failed for a record.- Specified by:
failedDelivery
in interfaceRetryListener
- Parameters:
record
- the failed record.ex
- the exception.deliveryAttempt
- the delivery attempt.
-
failedDelivery
public void failedDelivery(org.apache.kafka.clients.consumer.ConsumerRecords<?, ?> records, Exception ex, int deliveryAttempt) Invoke after delivery failure for batch records. If theKafkaHeaders
.DELIVERY_ATTEMPT header already exists in theConsumerRecord
's headers, it will be removed. Then, the provided `deliveryAttempt` is added to theConsumerRecord
's headers.- Specified by:
failedDelivery
in interfaceRetryListener
- Parameters:
records
- the records.ex
- the exception.deliveryAttempt
- the delivery attempt, if available.
-