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
Self type
Retry.type

Members list

Concise view

Type members

Classlikes

class ExponentialBackOff(val retryPolicyConfig: RetryPolicyConfig) extends RetryPolicy

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

Graph
Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
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

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

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

Attributes

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

Attributes

Graph
Supertypes
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any

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