|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.camel.processor.DelayPolicy
org.apache.camel.processor.RedeliveryPolicy
public class RedeliveryPolicy
The policy used to decide how many times to redeliver and the time between the redeliveries before being sent to a Dead Letter Channel
The default values are:
Field Summary | |
---|---|
protected double |
backOffMultiplier
|
protected double |
collisionAvoidanceFactor
|
protected int |
maximumRedeliveries
|
protected long |
maximumRedeliveryDelay
|
protected static Random |
randomNumberGenerator
|
protected LoggingLevel |
retriesExhaustedLogLevel
|
protected LoggingLevel |
retryAttemptedLogLevel
|
protected boolean |
useCollisionAvoidance
|
protected boolean |
useExponentialBackOff
|
Fields inherited from class org.apache.camel.processor.DelayPolicy |
---|
delay |
Constructor Summary | |
---|---|
RedeliveryPolicy()
|
Method Summary | |
---|---|
RedeliveryPolicy |
backOffMultiplier(double multiplier)
Enables exponential backoff and sets the multiplier used to increase the delay between redeliveries |
RedeliveryPolicy |
collisionAvoidancePercent(double collisionAvoidancePercent)
Enables collision avoidance and sets the percentage used |
RedeliveryPolicy |
copy()
|
double |
getBackOffMultiplier()
|
double |
getCollisionAvoidanceFactor()
|
short |
getCollisionAvoidancePercent()
|
long |
getInitialRedeliveryDelay()
Deprecated. use delay instead. Will be removed in Camel 2.0. |
int |
getMaximumRedeliveries()
|
long |
getMaximumRedeliveryDelay()
|
protected static Random |
getRandomNumberGenerator()
|
long |
getRedeliveryDelay(long previousDelay)
|
LoggingLevel |
getRetriesExhaustedLogLevel()
|
LoggingLevel |
getRetryAttemptedLogLevel()
|
RedeliveryPolicy |
initialRedeliveryDelay(long initialRedeliveryDelay)
Deprecated. use delay. Will be removed in Camel 2.0. |
boolean |
isUseCollisionAvoidance()
|
boolean |
isUseExponentialBackOff()
|
RedeliveryPolicy |
maximumRedeliveries(int maximumRedeliveries)
Sets the maximum number of times a message exchange will be redelivered |
RedeliveryPolicy |
maximumRedeliveryDelay(long maximumRedeliveryDelay)
Sets the maximum redelivery delay if using exponential back off. |
RedeliveryPolicy |
retriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel)
Sets the logging level to use for log messages when retries have been exhausted. |
RedeliveryPolicy |
retryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel)
Sets the logging level to use for log messages when retries are attempted. |
void |
setBackOffMultiplier(double backOffMultiplier)
Sets the multiplier used to increase the delay between redeliveries if setUseExponentialBackOff(boolean) is enabled |
void |
setCollisionAvoidanceFactor(double collisionAvoidanceFactor)
Sets the factor used for collision avoidance if enabled via setUseCollisionAvoidance(boolean) |
void |
setCollisionAvoidancePercent(double collisionAvoidancePercent)
Sets the percentage used for collision avoidance if enabled via setUseCollisionAvoidance(boolean) |
void |
setInitialRedeliveryDelay(long initialRedeliveryDelay)
Deprecated. use delay instead. Will be removed in Camel 2.0. |
void |
setMaximumRedeliveries(int maximumRedeliveries)
Sets the maximum number of times a message exchange will be redelivered. |
void |
setMaximumRedeliveryDelay(long maximumRedeliveryDelay)
Sets the maximum redelivery delay if using exponential back off. |
void |
setRetriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel)
Sets the logging level to use for log messages when retries have been exhausted. |
void |
setRetryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel)
Sets the logging level to use for log messages when retries are attempted. |
void |
setUseCollisionAvoidance(boolean useCollisionAvoidance)
Enables/disables collision avoidance which adds some randomization to the backoff timings to reduce contention probability |
void |
setUseExponentialBackOff(boolean useExponentialBackOff)
Enables/disables exponential backoff using the getBackOffMultiplier() to increase the time between retries |
boolean |
shouldRedeliver(int redeliveryCounter)
Returns true if the policy decides that the message exchange should be redelivered |
long |
sleep(long redeliveryDelay)
Calculates the new redelivery delay based on the last one then sleeps for the necessary amount of time |
String |
toString()
|
RedeliveryPolicy |
useCollisionAvoidance()
Enables collision avoidance which adds some randomization to the backoff timings to reduce contention probability |
RedeliveryPolicy |
useExponentialBackOff()
Enables exponential backoff using the getBackOffMultiplier() to
increase the time between retries |
Methods inherited from class org.apache.camel.processor.DelayPolicy |
---|
delay, getDelay, setDelay |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected static transient Random randomNumberGenerator
protected int maximumRedeliveries
protected long maximumRedeliveryDelay
protected double backOffMultiplier
protected boolean useExponentialBackOff
protected double collisionAvoidanceFactor
protected boolean useCollisionAvoidance
protected LoggingLevel retriesExhaustedLogLevel
protected LoggingLevel retryAttemptedLogLevel
Constructor Detail |
---|
public RedeliveryPolicy()
Method Detail |
---|
public String toString()
toString
in class DelayPolicy
public RedeliveryPolicy copy()
copy
in class DelayPolicy
public boolean shouldRedeliver(int redeliveryCounter)
public long sleep(long redeliveryDelay)
public long getRedeliveryDelay(long previousDelay)
public RedeliveryPolicy maximumRedeliveries(int maximumRedeliveries)
public RedeliveryPolicy initialRedeliveryDelay(long initialRedeliveryDelay)
public RedeliveryPolicy useCollisionAvoidance()
public RedeliveryPolicy useExponentialBackOff()
getBackOffMultiplier()
to
increase the time between retries
public RedeliveryPolicy backOffMultiplier(double multiplier)
public RedeliveryPolicy collisionAvoidancePercent(double collisionAvoidancePercent)
public RedeliveryPolicy maximumRedeliveryDelay(long maximumRedeliveryDelay)
public RedeliveryPolicy retriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel)
public RedeliveryPolicy retryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel)
public double getBackOffMultiplier()
public void setBackOffMultiplier(double backOffMultiplier)
setUseExponentialBackOff(boolean)
is enabled
public short getCollisionAvoidancePercent()
public void setCollisionAvoidancePercent(double collisionAvoidancePercent)
setUseCollisionAvoidance(boolean)
public double getCollisionAvoidanceFactor()
public void setCollisionAvoidanceFactor(double collisionAvoidanceFactor)
setUseCollisionAvoidance(boolean)
public long getInitialRedeliveryDelay()
public void setInitialRedeliveryDelay(long initialRedeliveryDelay)
public int getMaximumRedeliveries()
public void setMaximumRedeliveries(int maximumRedeliveries)
public long getMaximumRedeliveryDelay()
public void setMaximumRedeliveryDelay(long maximumRedeliveryDelay)
public boolean isUseCollisionAvoidance()
public void setUseCollisionAvoidance(boolean useCollisionAvoidance)
public boolean isUseExponentialBackOff()
public void setUseExponentialBackOff(boolean useExponentialBackOff)
getBackOffMultiplier()
to increase the time between retries
protected static Random getRandomNumberGenerator()
public void setRetriesExhaustedLogLevel(LoggingLevel retriesExhaustedLogLevel)
public LoggingLevel getRetriesExhaustedLogLevel()
public void setRetryAttemptedLogLevel(LoggingLevel retryAttemptedLogLevel)
public LoggingLevel getRetryAttemptedLogLevel()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |