Retry

@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class Retry(val enabled: Boolean = true, val maxRetries: Int = DEFAULT_MAX_RETRIES, val minBackoff: Int = DEFAULT_MIN_BACKOFF, val executionTimeout: Int = DEFAULT_EXECUTION_TIMEOUT, val recoverable: Array<KClass<out Throwable>> = [], val unrecoverable: Array<KClass<out Throwable>> = [])

用于标记函数,以启用重试机制。该注解允许配置重试策略,包括是否启用、最大重试次数、最小回退时间、执行超时时间以及指定可恢复和不可恢复的异常类型。

Parameters

enabled

是否启用重试功能,默认为true。

maxRetries

最大重试次数,默认值为DEFAULT_MAX_RETRIES

minBackoff

第一次回退的最短持续时间(单位:秒),默认值为DEFAULT_MIN_BACKOFF。查看java.time.temporal.ChronoUnit.SECONDS获取更多关于时间单位的信息。

executionTimeout

执行操作的最大超时时间(单位:秒),默认值为DEFAULT_EXECUTION_TIMEOUT。同样地,参考java.time.temporal.ChronoUnit.SECONDS了解时间单位详情。

recoverable

指定在遇到这些类型的异常时进行重试。数组形式,允许指定多个异常类。

unrecoverable

指定遇到这些异常时不进行重试。同样使用数组形式来指定一个或多个异常类。

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val enabled: Boolean = true
Link copied to clipboard

执行超时时间

Link copied to clipboard

最大重试次数

Link copied to clipboard

the minimum Duration for the first backoff

Link copied to clipboard
Link copied to clipboard