Retry

wvlet.airframe.control.Retry
object Retry extends LogSupport

Retry logic implementation helper

Attributes

Graph
Supertypes
trait LogSupport
trait LazyLogger
trait LoggingMethods
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
Retry.type

Members list

Type members

Classlikes

class ExponentialBackOff(val retryPolicyConfig: RetryPolicyConfig) extends RetryPolicy

Attributes

Supertypes
trait RetryPolicy
class Object
trait Matchable
class Any
case class ExtraWait(maxExtraWaitMillis: Int, factor: Double)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
class Jitter(val retryPolicyConfig: RetryPolicyConfig, rand: Random) extends RetryPolicy

Attributes

Supertypes
trait RetryPolicy
class Object
trait Matchable
class Any
case class MaxRetryException(retryContext: RetryContext) extends Exception

Attributes

Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
case object NOT_STARTED extends Exception

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
case class RetryContext(context: Option[Any], lastError: Throwable, retryCount: Int, maxRetry: Int, retryWaitStrategy: RetryPolicy, nextWaitMillis: Int, baseWaitMillis: Int, extraWaitMillis: Int, resultClassifier: Any => ResultClass, errorClassifier: Throwable => Failed, beforeRetryAction: RetryContext => Any)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait RetryPolicy

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
case class RetryPolicyConfig(initialIntervalMillis: Int, maxIntervalMillis: Int, multiplier: Double)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class RetryableFailure(e: Throwable) extends Exception

Attributes

Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

def nonRetryableFailure(e: Throwable): Failed
def retryableFailure(e: Throwable): Failed
def withBackOff(maxRetry: Int, initialIntervalMillis: Int, maxIntervalMillis: Int, multiplier: Double): RetryContext
def withBoundedBackoff(initialIntervalMillis: Int, maxTotalWaitMillis: Int, multiplier: Double): RetryContext
def withJitter(maxRetry: Int, initialIntervalMillis: Int, maxIntervalMillis: Int, multiplier: Double): RetryContext

Inherited methods

inline protected def debug(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def debug(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def error(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def error(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def info(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def info(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def logAt(inline logLevel: LogLevel, inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def trace(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def trace(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def warn(inline message: Any, inline cause: Throwable): Unit

Attributes

Inherited from:
LoggingMethods
inline protected def warn(inline message: Any): Unit

Attributes

Inherited from:
LoggingMethods