RetryPolicy クラス

public class RetryPolicy implements RetryPolicyFactory

再試行ポリシーを表す抽象クラス。

フィールドの概要

修飾子と型 フィールドと説明
final int DEFAULT_CLIENT_BACKOFF

既定のクライアント バックオフ間隔をミリ秒単位で表します。

final int DEFAULT_CLIENT_RETRY_COUNT

既定のクライアント再試行回数を表します。

final int DEFAULT_MAX_BACKOFF

既定の最大バックオフ間隔 (ミリ秒単位) を表します。

final int DEFAULT_MIN_BACKOFF

既定の最小バックオフ間隔 (ミリ秒単位) を表します。

int deltaBackoffIntervalInMs

実現されたバックオフ間隔をミリ秒単位で表します。

Date lastPrimaryAttempt

プライマリの場所に対する最後の要求試行の時刻を表します。

Date lastSecondaryAttempt

セカンダリの場所に対する最後の要求試行の時刻を表します。

int maximumAttempts

再試行ポリシーが試行する最大再試行回数を表します。

コンストラクターの概要

コンストラクター 説明
RetryPolicy()

クラスのインスタンスを作成します。

RetryPolicy(final int deltaBackoff, final int maxAttempts)

指定したデルタ バックオフと最大再試行回数を使用して、 クラスのインスタンスを作成します。

メソッドの概要

修飾子と型 メソッドと説明
abstract RetryInfo evaluate(RetryContext retryContext, OperationContext operationContext)

操作を再試行するかどうかを決定し、次の再試行までの間隔を指定します。

boolean evaluateLastAttemptAndSecondaryNotFound(RetryContext retryContext)

ストレージの場所に対する最後の試行時刻を決定し、セカンダリの場所に送信された要求が 404 で失敗したかどうかを指定する を返します。

RetryInfo evaluateRetryInfo(final RetryContext retryContext, final boolean secondaryNotFound, final long retryInterval)

次の RetryInfo 再試行がプライマリまたはセカンダリの場所で行われるかどうかを示す オブジェクトを決定し、場所モードを指定します。

継承メンバー

フィールドの詳細

DEFAULT_CLIENT_BACKOFF

public static final int DEFAULT_CLIENT_BACKOFF= 1000 * 30

既定のクライアント バックオフ間隔をミリ秒単位で表します。

DEFAULT_CLIENT_RETRY_COUNT

public static final int DEFAULT_CLIENT_RETRY_COUNT= 3

既定のクライアント再試行回数を表します。

DEFAULT_MAX_BACKOFF

public static final int DEFAULT_MAX_BACKOFF= 1000 * 90

既定の最大バックオフ間隔 (ミリ秒単位) を表します。

DEFAULT_MIN_BACKOFF

public static final int DEFAULT_MIN_BACKOFF= 1000 * 3

既定の最小バックオフ間隔 (ミリ秒単位) を表します。

deltaBackoffIntervalInMs

protected int deltaBackoffIntervalInMs

実現されたバックオフ間隔をミリ秒単位で表します。

lastPrimaryAttempt

protected Date lastPrimaryAttempt= null

プライマリの場所に対する最後の要求試行の時刻を表します。

lastSecondaryAttempt

protected Date lastSecondaryAttempt= null

セカンダリの場所に対する最後の要求試行の時刻を表します。

maximumAttempts

protected int maximumAttempts

再試行ポリシーが試行する最大再試行回数を表します。

コンストラクターの詳細

RetryPolicy

public RetryPolicy()

クラスのインスタンスを作成します。

RetryPolicy

public RetryPolicy(final int deltaBackoff, final int maxAttempts)

指定したデルタ バックオフと最大再試行回数を使用して、 クラスのインスタンスを作成します。

Parameters:

deltaBackoff - 再試行の間のバックオフ間隔 (ミリ秒単位)。
maxAttempts - 再試行の最大数。

メソッドの詳細

evaluate

public abstract RetryInfo evaluate(RetryContext retryContext, OperationContext operationContext)

操作を再試行するかどうかを決定し、次の再試行までの間隔を指定します。

Parameters:

retryContext - RetryContext再試行回数、最後の要求の結果、次の再試行がプライマリまたはセカンダリの場所で行われるかどうかを示し、場所モードを指定する オブジェクト。
operationContext - 現在の操作を追跡するための OperationContext オブジェクトです。

Returns:

RetryInfo次の再試行がプライマリまたはセカンダリの場所で行われるかどうかを示し、場所モードを指定する オブジェクト。 null の場合、操作は再試行されません。

evaluateLastAttemptAndSecondaryNotFound

protected boolean evaluateLastAttemptAndSecondaryNotFound(RetryContext retryContext)

ストレージの場所に対する最後の試行時刻を決定し、セカンダリの場所に送信された要求が 404 で失敗したかどうかを指定する を返します。

Parameters:

retryContext - RetryContext再試行回数、最後の要求の結果、次の再試行がプライマリまたはセカンダリの場所で行われるかどうかを示し、場所モードを指定する オブジェクト。

Returns:

true セカンダリの場所に送信された要求が 404 (見つかりません) で失敗した場合。 それ以外の場合は false

evaluateRetryInfo

protected RetryInfo evaluateRetryInfo(final RetryContext retryContext, final boolean secondaryNotFound, final long retryInterval)

次の RetryInfo 再試行がプライマリまたはセカンダリの場所で行われるかどうかを示す オブジェクトを決定し、場所モードを指定します。

Parameters:

retryContext - RetryContext再試行回数、最後の要求の結果、次の再試行がプライマリまたはセカンダリの場所で行われるかどうかを示し、場所モードを指定する オブジェクト。
secondaryNotFound - booleanセカンダリの場所に送信された要求が 404 (見つかりません) で失敗したかどうかを表す 。
retryInterval - バックオフ間隔。

Returns:

次の再試行が RetryInfo プライマリまたはセカンダリの場所で行われるかどうかを示し、場所モードを指定する オブジェクトへの参照。

適用対象