Lire en anglais

Partager via


RetryPolicy Classe

  • java.lang.Object
    • com.microsoft.azure.servicebus.primitives.RetryPolicy

public abstract class RetryPolicy

Représente une abstraction d’une stratégie pour réessayer les opérations de messagerie lorsqu’une exception est rencontrée. Certaines exceptions rencontrées par un expéditeur ou un destinataire peuvent être temporaires, comme ServerBusy, et l’opération réussit si elle est retentée. Les clients peuvent spécifier une stratégie de nouvelle tentative à l’aide ConnectionStringBuilder de laquelle les expéditeurs et les destinataires doivent réessayer automatiquement l’opération ayant échoué avant de lever l’exception à l’application cliente. Les utilisateurs ne doivent pas implémenter cette classe, mais utiliser l’une des implémentations fournies via #getDefault ou #getNoRetry.

Récapitulatif du constructeur

Modificateur Constructeur Description
protected RetryPolicy(String name)

Crée une instance de stratégie de nouvelle tentativeavec le nom donné.

Résumé de la méthode

Modificateur et type Méthode et description
static RetryPolicy getDefault()

Stratégie de nouvelle tentative qui fournit des intervalles de nouvelles tentatives à augmentation exponentielle à chaque échec successif.

Duration getNextRetryInterval(String clientId, Exception lastException, Duration remainingTime)

Obtient l’intervalle après lequel la nouvelletentative doit être effectuée, en fonction de la dernière exception rencontrée et du temps restant avant l’expiration de l’opération.

static RetryPolicy getNoRetry()

Obtient une stratégie de nouvelle tentative qui ne retente aucune opération, désactivant efficacement les nouvelles tentatives.

protected int getRetryCount(String clientId)
void incrementRetryCount(String clientId)

Incrémente le nombre de tentatives successives effectuées par un client.

static boolean isRetryableException(Exception exception)

Détermine si une exception est rétenable ou non.

protected abstract Duration onGetNextRetryInterval(String clientId, Exception lastException, Duration remainingTime, int baseWaitTime)

Ajuste l’intervalle après lequel la nouvelletentative doit être effectuée, en fonction de la dernière exception rencontrée, du temps restant avant l’expiration de l’opération et du temps d’attente minimal avant la nouvelle tentative.

void resetRetryCount(String clientId)

Réinitialise le nombre de nouvelles tentatives effectuées par un client.

String toString()

Méthodes héritées de java.lang.Object

Détails du constructeur

RetryPolicy

protected RetryPolicy(String name)

Crée un instance de RetryPolicy avec le nom donné.

Paramètres:

name - nom de la stratégie

Détails de la méthode

getDefault

public static RetryPolicy getDefault()

Stratégie de nouvelle tentative qui fournit des intervalles de nouvelles tentatives à augmentation exponentielle à chaque échec successif. Cette stratégie convient à l’utilisation de la plupart des applications clientes et constitue également la stratégie par défaut si aucune stratégie de nouvelle tentative n’est spécifiée.

Retours:

une stratégie de nouvelle tentative qui fournit des intervalles de nouvelles tentatives à augmentation exponentielle

getNextRetryInterval

public Duration getNextRetryInterval(String clientId, Exception lastException, Duration remainingTime)

Obtient l’intervalle après lequel nextRetry doit être tenté, en fonction de la dernière exception rencontrée et du temps restant avant l’expiration de l’opération.

Paramètres:

clientId - id de l’expéditeur ou du récepteur ou de l’objet client qui a rencontré l’exception.
lastException - dernière exception rencontrée
remainingTime - restantTime à réessayer avant l’expiration de l’opération

Retours:

durée après laquelle l’opération sera retentée. Retourne la valeur Null lorsque l’opération ne doit pas être retentée.

getNoRetry

public static RetryPolicy getNoRetry()

Obtient une stratégie de nouvelle tentative qui ne retente aucune opération, désactivant efficacement les nouvelles tentatives. Les clients peuvent utiliser cette stratégie de nouvelle tentative au cas où ils ne souhaitent pas qu’une opération soit retentée automatiquement.

Retours:

une stratégie de nouvelle tentative qui n’effectue aucune nouvelle tentative d’opérations

getRetryCount

protected int getRetryCount(String clientId)

Paramètres:

clientId

incrementRetryCount

public void incrementRetryCount(String clientId)

Incrémente le nombre de tentatives successives effectuées par un client.

Paramètres:

clientId - id du client retenant une opération ayant échoué

isRetryableException

public static boolean isRetryableException(Exception exception)

Détermine si une exception est rétenable ou non. Seules les exceptions temporaires doivent être retentées.

Paramètres:

exception - exception rencontrée par une opération, à déterminer si elle peut réessayer.

Retours:

true si l’exception peut réessayer (comme ServerBusy ou une autre exception temporaire), sinon retourne false

onGetNextRetryInterval

protected abstract Duration onGetNextRetryInterval(String clientId, Exception lastException, Duration remainingTime, int baseWaitTime)

Ajuste l’intervalle après lequel nextRetry doit être tenté, en fonction de la dernière exception rencontrée, du temps restant avant l’expiration de l’opération et du temps d’attente minimal avant la nouvelle tentative. Les clients peuvent remplacer cette méthode pour spécifier un temps d’attente en fonction de l’exception rencontrée.

Paramètres:

clientId - id de l’expéditeur ou du récepteur ou de l’objet client qui a rencontré l’exception.
lastException - dernière exception rencontrée
remainingTime - restantTime à réessayer avant l’expiration de l’opération
baseWaitTime - temps d’attente minimal déterminé par la stratégie de nouvelle tentative de base. Les méthodes de substitution peuvent retourner une valeur différente.

Retours:

durée après laquelle l’opération sera retentée. Retourne null lorsque l’opération ne doit pas être retentée

resetRetryCount

public void resetRetryCount(String clientId)

Réinitialise le nombre de nouvelles tentatives effectuées par un client. Cette méthode est appelée par le client lorsque l’opération de nouvelle tentative réussit.

Paramètres:

clientId - id du client qui vient de réessayer une opération ayant échoué et qui a réussi.

toString

public String toString()

Remplacements:

RetryPolicy.toString()

S’applique à