Class RedeliveryPolicy
java.lang.Object
dk.cloudcreate.essentials.components.foundation.messaging.RedeliveryPolicy
In case the message delivery, handled by the
DurableQueueConsumer, experiences an error/exception,
then the RedeliveryPolicy determines, with the aid of the MessageDeliveryErrorHandler and the provided
delivery settings, IF a Message should be retried (DurableQueues.retryMessage(RetryMessage)
or if it's going to be marked as a Poison-Message/Dead-Letter-Message (DurableQueues.markAsDeadLetterMessage(MarkAsDeadLetterMessage))-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRedeliveryPolicy(Duration initialRedeliveryDelay, Duration followupRedeliveryDelay, double followupRedeliveryDelayMultiplier, Duration maximumFollowupRedeliveryDelayThreshold, int maximumNumberOfRedeliveries, MessageDeliveryErrorHandler deliveryErrorHandler) -
Method Summary
Modifier and TypeMethodDescriptionstatic RedeliveryPolicyBuilderbuilder()Create a generic builder for defining aRedeliveryPolicycalculateNextRedeliveryDelay(int currentNumberOfRedeliveryAttempts) booleanstatic ExponentialBackoffBuilderCreate a builder for defining aRedeliveryPolicythat allows for defining an Exponential Backoff strategystatic RedeliveryPolicyexponentialBackoff(Duration initialRedeliveryDelay, Duration followupRedeliveryDelay, double followupRedeliveryDelayMultiplier, Duration maximumFollowupRedeliveryDelayThreshold, int maximumNumberOfRedeliveries) static FixedBackoffBuilderCreate a builder for defining aRedeliveryPolicywith a Fixed Backoff strategystatic RedeliveryPolicyfixedBackoff(Duration redeliveryDelay, int maximumNumberOfRedeliveries) inthashCode()booleanisPermanentError(QueuedMessage queuedMessage, Exception error) static LinearBackoffBuilderCreate a builder for defining aRedeliveryPolicywith a Linear Backoff strategystatic RedeliveryPolicylinearBackoff(Duration redeliveryDelay, Duration maximumFollowupRedeliveryDelayThreshold, int maximumNumberOfRedeliveries) toString()
-
Field Details
-
initialRedeliveryDelay
-
followupRedeliveryDelay
-
followupRedeliveryDelayMultiplier
public final double followupRedeliveryDelayMultiplier -
maximumFollowupRedeliveryThreshold
-
maximumNumberOfRedeliveries
public final int maximumNumberOfRedeliveries -
deliveryErrorHandler
-
-
Constructor Details
-
RedeliveryPolicy
public RedeliveryPolicy(Duration initialRedeliveryDelay, Duration followupRedeliveryDelay, double followupRedeliveryDelayMultiplier, Duration maximumFollowupRedeliveryDelayThreshold, int maximumNumberOfRedeliveries, MessageDeliveryErrorHandler deliveryErrorHandler)
-
-
Method Details
-
builder
Create a generic builder for defining aRedeliveryPolicy- Returns:
- a generic builder for defining a
RedeliveryPolicy
-
exponentialBackoff
Create a builder for defining aRedeliveryPolicythat allows for defining an Exponential Backoff strategy- Returns:
- a builder for defining a
RedeliveryPolicythat allows for defining an Exponential Backoff strategy
-
linearBackoff
Create a builder for defining aRedeliveryPolicywith a Linear Backoff strategy- Returns:
- a builder for defining a
RedeliveryPolicywith a Linear Backoff strategy
-
fixedBackoff
Create a builder for defining aRedeliveryPolicywith a Fixed Backoff strategy- Returns:
- a builder for defining a
RedeliveryPolicywith a Fixed Backoff strategy
-
equals
-
hashCode
public int hashCode() -
toString
-
calculateNextRedeliveryDelay
-
fixedBackoff
public static RedeliveryPolicy fixedBackoff(Duration redeliveryDelay, int maximumNumberOfRedeliveries) -
linearBackoff
public static RedeliveryPolicy linearBackoff(Duration redeliveryDelay, Duration maximumFollowupRedeliveryDelayThreshold, int maximumNumberOfRedeliveries) -
exponentialBackoff
public static RedeliveryPolicy exponentialBackoff(Duration initialRedeliveryDelay, Duration followupRedeliveryDelay, double followupRedeliveryDelayMultiplier, Duration maximumFollowupRedeliveryDelayThreshold, int maximumNumberOfRedeliveries) -
isPermanentError
-