Class RetryProperties
- java.lang.Object
-
- com.broadleafcommerce.common.messaging.notification.RetryProperties
-
public class RetryProperties extends Object
Configuration for aRetryHandler
- Author:
- Jeff Fischer
-
-
Constructor Summary
Constructors Constructor Description RetryProperties(String retryClusterServiceNamespace)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected boolean
canEqual(Object other)
boolean
equals(Object o)
Duration
getDelayAtStartup()
The amount of time after initialization of the application that must pass before the retry scheduler starts.Duration
getInitialFaultThreshold()
The amount of time that must elapse before the retry mechanism can kick in on a newly altered and unacknowledged record.int
getMaxAttempts()
The maximum number of failed attempts that should be made before ceasing to attempt to send a message for an unacknowledged record.Duration
getMaxAttemptWaitTime()
The maximum amount of time that should elapse before making another attempt on an unacknowledged record.int
getPageSize()
The number of valid, unacknowledged records to batch process per interval.Duration
getRecordProcessingWait()
The amount of time to pause between the processing of each unacknowledged record in the batch.String
getRetryClusterServiceNamespace()
Name used to identify the cluster singleton lockDuration
getRetryInterval()
The length of time to wait between each batch retry attempt.int
hashCode()
boolean
isDeveloperMode()
Deprecated.Development state is now handled through thebroadleaf.messaging.cluster-service-implementation-type
property.void
setDelayAtStartup(Duration delayAtStartup)
The amount of time after initialization of the application that must pass before the retry scheduler starts.void
setDeveloperMode(boolean developerMode)
Deprecated.Development state is now handled through thebroadleaf.messaging.cluster-service-implementation-type
property.void
setInitialFaultThreshold(Duration initialFaultThreshold)
The amount of time that must elapse before the retry mechanism can kick in on a newly altered and unacknowledged record.void
setMaxAttempts(int maxAttempts)
The maximum number of failed attempts that should be made before ceasing to attempt to send a message for an unacknowledged record.void
setMaxAttemptWaitTime(Duration maxAttemptWaitTime)
The maximum amount of time that should elapse before making another attempt on an unacknowledged record.void
setPageSize(int pageSize)
The number of valid, unacknowledged records to batch process per interval.void
setRecordProcessingWait(Duration recordProcessingWait)
The amount of time to pause between the processing of each unacknowledged record in the batch.void
setRetryClusterServiceNamespace(String retryClusterServiceNamespace)
Name used to identify the cluster singleton lockvoid
setRetryInterval(Duration retryInterval)
The length of time to wait between each batch retry attempt.String
toString()
-
-
-
Constructor Detail
-
RetryProperties
public RetryProperties(String retryClusterServiceNamespace)
-
-
Method Detail
-
getRetryClusterServiceNamespace
public String getRetryClusterServiceNamespace()
Name used to identify the cluster singleton lock
-
isDeveloperMode
@Deprecated public boolean isDeveloperMode()
Deprecated.Development state is now handled through thebroadleaf.messaging.cluster-service-implementation-type
property. The default for that property isfile
, which is appropriate for local development.Indicates the retry system is intended in this configuration to be used by developers, rather than a real deployment. This setting causes an additional random piece of information to be appended toretryClusterServiceNamespace
so that instances of the same service being run by multiple devs on the same subnet are not interpreted as being part of the same cluster. Otherwise, retry behavior could be unpredictable between machines and retry services might not start up locally for one or more devs. The default is true.
-
getRetryInterval
public Duration getRetryInterval()
The length of time to wait between each batch retry attempt. The default is 5 minutes.
-
getPageSize
public int getPageSize()
The number of valid, unacknowledged records to batch process per interval. The default is 1000.
-
getMaxAttempts
public int getMaxAttempts()
The maximum number of failed attempts that should be made before ceasing to attempt to send a message for an unacknowledged record. The default is 10.
-
getMaxAttemptWaitTime
public Duration getMaxAttemptWaitTime()
The maximum amount of time that should elapse before making another attempt on an unacknowledged record. The time between retries for an individual record is generally governed by a exponential backoff algorithm, but this value represents a ceiling beyond which that algorithm may not exceed. The default is 4 hours.
-
getInitialFaultThreshold
public Duration getInitialFaultThreshold()
The amount of time that must elapse before the retry mechanism can kick in on a newly altered and unacknowledged record. This provides a safe window in which the normal operation can acknowledge the record without risk of interference from the retry handler. The default is 5 minutes.
-
getRecordProcessingWait
public Duration getRecordProcessingWait()
The amount of time to pause between the processing of each unacknowledged record in the batch. This is primarily a throttling measure. The default value is 0 (don't throttle).
-
getDelayAtStartup
public Duration getDelayAtStartup()
The amount of time after initialization of the application that must pass before the retry scheduler starts. Can be used to provide some buffer of time for other components (e.g. kafka bindings) to fully initialize. The default is 20 seconds.
-
setRetryClusterServiceNamespace
public void setRetryClusterServiceNamespace(String retryClusterServiceNamespace)
Name used to identify the cluster singleton lock
-
setDeveloperMode
@Deprecated public void setDeveloperMode(boolean developerMode)
Deprecated.Development state is now handled through thebroadleaf.messaging.cluster-service-implementation-type
property. The default for that property isfile
, which is appropriate for local development.Indicates the retry system is intended in this configuration to be used by developers, rather than a real deployment. This setting causes an additional random piece of information to be appended toretryClusterServiceNamespace
so that instances of the same service being run by multiple devs on the same subnet are not interpreted as being part of the same cluster. Otherwise, retry behavior could be unpredictable between machines and retry services might not start up locally for one or more devs. The default is true.
-
setRetryInterval
public void setRetryInterval(Duration retryInterval)
The length of time to wait between each batch retry attempt. The default is 5 minutes.
-
setPageSize
public void setPageSize(int pageSize)
The number of valid, unacknowledged records to batch process per interval. The default is 1000.
-
setMaxAttempts
public void setMaxAttempts(int maxAttempts)
The maximum number of failed attempts that should be made before ceasing to attempt to send a message for an unacknowledged record. The default is 10.
-
setMaxAttemptWaitTime
public void setMaxAttemptWaitTime(Duration maxAttemptWaitTime)
The maximum amount of time that should elapse before making another attempt on an unacknowledged record. The time between retries for an individual record is generally governed by a exponential backoff algorithm, but this value represents a ceiling beyond which that algorithm may not exceed. The default is 4 hours.
-
setInitialFaultThreshold
public void setInitialFaultThreshold(Duration initialFaultThreshold)
The amount of time that must elapse before the retry mechanism can kick in on a newly altered and unacknowledged record. This provides a safe window in which the normal operation can acknowledge the record without risk of interference from the retry handler. The default is 5 minutes.
-
setRecordProcessingWait
public void setRecordProcessingWait(Duration recordProcessingWait)
The amount of time to pause between the processing of each unacknowledged record in the batch. This is primarily a throttling measure. The default value is 0 (don't throttle).
-
setDelayAtStartup
public void setDelayAtStartup(Duration delayAtStartup)
The amount of time after initialization of the application that must pass before the retry scheduler starts. Can be used to provide some buffer of time for other components (e.g. kafka bindings) to fully initialize. The default is 20 seconds.
-
canEqual
protected boolean canEqual(Object other)
-
-