Retry
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
指定遇到这些异常时不进行重试。同样使用数组形式来指定一个或多个异常类。