Record Class RetryPolicy
java.lang.Object
java.lang.Record
com.midi.his.sdk.config.RetryPolicy
- 记录组件:
maxAttempts- 总尝试次数,1表示不重试,最小为 1backoff- 首次重试前的等待毫秒数,后续按 2 的幂递增jitterMillis- 等待时间上叠加的随机抖动上限,用于错开多线程重试
重试策略。
只对"确定没有产生业务副作用"的失败重试:连接/读超时、连接被重置、HTTP 5xx 与 408/429。
平台已返回业务错误码(见 RetCode)时一律不重试,避免推送重复投递。
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明longbackoff()返回backoff记录组件的值。static RetryPolicydefaults()默认策略:共 3 次尝试、500ms 起退避、100ms 抖动。longdelayMillis(int attempt) 计算第attempt次失败后的等待时间(指数退避 + 抖动)。final boolean指示某个其他对象是否“等于”此对象。final inthashCode()返回此对象的哈希代码值。long返回jitterMillis记录组件的值。int返回maxAttempts记录组件的值。static RetryPolicynone()不重试。final StringtoString()返回此记录的字符串表示形式。
-
构造器详细资料
-
RetryPolicy
public RetryPolicy(int maxAttempts, long backoff, long jitterMillis) 创建RetryPolicy记录的实例。- 参数:
maxAttempts-maxAttempts记录组件的值backoff-backoff记录组件的值jitterMillis-jitterMillis记录组件的值
-
-
方法详细资料
-
defaults
默认策略:共 3 次尝试、500ms 起退避、100ms 抖动。 -
none
不重试。 -
delayMillis
public long delayMillis(int attempt) 计算第attempt次失败后的等待时间(指数退避 + 抖动)。- 参数:
attempt- 已经失败的次数,从 1 开始- 返回:
- 需要 sleep 的毫秒数
-
toString
返回此记录的字符串表示形式。此表示形式包含类型的名称,后跟每个记录组件的名称和值。 -
hashCode
public final int hashCode()返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。 -
equals
指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录中的所有组件都使用 '==' 进行比较。 -
maxAttempts
public int maxAttempts()返回maxAttempts记录组件的值。- 返回:
maxAttempts记录组件的值
-
backoff
public long backoff()返回backoff记录组件的值。- 返回:
backoff记录组件的值
-
jitterMillis
public long jitterMillis()返回jitterMillis记录组件的值。- 返回:
jitterMillis记录组件的值
-