public class ExponentialBackoffRetrier extends Object implements FailedMessageRetryHandler, Serializable
Constructor and Description |
---|
ExponentialBackoffRetrier()
No args constructor that uses defaults of 100 ms for first retry, max retries of Long.MAX_VALUE and an
exponential backoff of
Math.pow(2,i-1) secs for retry i where i = 2,3,... . |
ExponentialBackoffRetrier(Long initialDelayMillis,
Long baseSeconds,
Long maxRetries)
Creates a new exponential backoff retrier.
|
Modifier and Type | Method and Description |
---|---|
void |
acked(KinesisMessageId messageId)
message with messageId succeeded/acked in the spout.
|
boolean |
failed(KinesisMessageId messageId)
message with messageId failed in the spout.
|
void |
failedMessageEmitted(KinesisMessageId messageId)
message with messageId returned by last call to getNextFailedMessageToRetry was emitted/retried by the spout.
|
KinesisMessageId |
getNextFailedMessageToRetry()
Get the next failed message's id to retry if any, null otherwise.
|
public ExponentialBackoffRetrier()
Math.pow(2,i-1)
secs for retry i
where i = 2,3,...
.public ExponentialBackoffRetrier(Long initialDelayMillis, Long baseSeconds, Long maxRetries)
initialDelayMillis
- delay in milliseconds for first retrybaseSeconds
- base for exponent function in secondsmaxRetries
- maximum number of retries before the record is discarded/ackedpublic boolean failed(KinesisMessageId messageId)
FailedMessageRetryHandler
failed
in interface FailedMessageRetryHandler
messageId
- the message idpublic void acked(KinesisMessageId messageId)
FailedMessageRetryHandler
acked
in interface FailedMessageRetryHandler
messageId
- the message idpublic KinesisMessageId getNextFailedMessageToRetry()
FailedMessageRetryHandler
getNextFailedMessageToRetry
in interface FailedMessageRetryHandler
public void failedMessageEmitted(KinesisMessageId messageId)
FailedMessageRetryHandler
failedMessageEmitted
in interface FailedMessageRetryHandler
messageId
- the message idCopyright © 2023 The Apache Software Foundation. All rights reserved.