你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
RetryPolicy 类
- java.
lang. Object - com.
microsoft. azure. servicebus. primitives. RetryPolicy
- com.
public abstract class RetryPolicy
表示在遇到异常时重试消息传送操作的策略的抽象。 发送方或接收方遇到的某些异常可能是暂时性的,例如 ServerBusy,如果重试,操作将成功。 客户端可以使用指定重试策略 ConnectionStringBuilder ,引导发送方和接收方在向客户端应用程序引发异常之前自动重试失败的操作。 用户不应实现此类,而应通过 #getDefault 或 #getNoRetry使用提供的实现之一。
构造函数摘要
修饰符 | 构造函数 | 说明 |
---|---|---|
protected | RetryPolicy(String name) |
使用给定名称创建重试 |
方法摘要
修饰符和类型 | 方法和描述 |
---|---|
static
Retry |
getDefault()
重试策略,在每次连续失败时提供呈指数级增长的重试间隔。 |
Duration |
getNextRetryInterval(String clientId, Exception lastException, Duration remainingTime)
根据上次遇到的异常和操作超时前的剩余时间,获取应在该时间间隔之后尝试下一次 |
static
Retry |
getNoRetry()
获取一个重试策略,该策略不会重试任何操作,从而有效地禁用重试。 |
protected int | getRetryCount(String clientId) |
void |
incrementRetryCount(String clientId)
递增客户端进行的连续重试尝试次数。 |
static boolean |
isRetryableException(Exception exception)
确定异常是否能够重试。 |
protected abstract Duration |
onGetNextRetryInterval(String clientId, Exception lastException, Duration remainingTime, int baseWaitTime)
根据上次遇到的异常、操作超时前的剩余时间和重试前的最短等待时间调整应尝试下一次 |
void |
resetRetryCount(String clientId)
重置客户端进行的重试次数。 |
String | toString() |
方法继承自 java.lang.Object
构造函数详细信息
RetryPolicy
protected RetryPolicy(String name)
创建具有给定名称的 RetryPolicy 实例。
参数:
方法详细信息
getDefault
public static RetryPolicy getDefault()
重试策略,在每次连续失败时提供呈指数级增长的重试间隔。 此策略适用于使用大多数客户端应用程序,如果未指定重试策略,则也是默认策略。
返回:
getNextRetryInterval
public Duration getNextRetryInterval(String clientId, Exception lastException, Duration remainingTime)
根据遇到的最后一个异常和操作超时之前的剩余时间,获取应在该时间间隔之后尝试 nextRetry 的间隔。
参数:
返回:
getNoRetry
public static RetryPolicy getNoRetry()
获取一个重试策略,该策略不会重试任何操作,从而有效地禁用重试。 如果客户端不希望自动重试任何操作,则可以使用此重试策略。
返回:
getRetryCount
protected int getRetryCount(String clientId)
参数:
incrementRetryCount
public void incrementRetryCount(String clientId)
递增客户端进行的连续重试尝试次数。
参数:
isRetryableException
public static boolean isRetryableException(Exception exception)
确定异常是否能够重试。 只应重试暂时性异常。
参数:
返回:
onGetNextRetryInterval
protected abstract Duration onGetNextRetryInterval(String clientId, Exception lastException, Duration remainingTime, int baseWaitTime)
根据上次遇到的异常、操作超时前的剩余时间以及重试前的最短等待时间调整应尝试 nextRetry 的间隔。 客户端可以重写此方法,以根据遇到的异常指定等待时间。
参数:
返回:
resetRetryCount
public void resetRetryCount(String clientId)
重置客户端进行的重试次数。 重试操作成功时,客户端将调用此方法。
参数:
toString
public String toString()
替代:
RetryPolicy.toString()