Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AWS Flow Frameworkpour les annotations Java
Rubriques
@Activités
Cette annotation peut être utilisée dans une interface pour déclarer un ensemble de types d'activités. Chaque méthode de l'interface comportant cette annotation représente un type d'activité. Une interface ne peut pas avoir à la fois des annotations @Workflow
et @Activities
.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
activityNamePrefix
-
Spécifie le préfixe du nom des types d'activité déclarés dans l'interface. S'il est défini sur une chaîne vide (valeur par défaut), le nom de l'interface suivi d'un point (.) est utilisé comme préfixe.
version
-
Spécifie la version par défaut des types d'activité déclarés dans l'interface. La valeur par défaut est
1.0
. dataConverter
-
Spécifie le type de
DataConverter
à utiliser pour la sérialisation/désérialisation des données lors de la création de tâches de ce type d'activité et de ses résultats. Défini surNullDataConverter
par défaut, ce qui indique queJsonDataConverter
doit être utilisé.
@Activité
Cette annotation peut être utilisée sur des méthodes au sein d'une interface annotée avec @Activities
.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
name
-
Spécifie le nom du type d'activité. La valeur par défaut est une chaîne vide, qui indique que le préfixe par défaut et le nom de la méthode d'activité doivent être utilisés pour déterminer le nom du type d'activité (au format {{préfixe}{{nom}). Notez que lorsque vous spécifiez un nom dans une annotation
@Activity
, l'infrastructure ne lui ajoutera pas automatiquement un préfixe. Vous êtes libre d'utiliser votre propre schéma d'attribution de noms. version
-
Spécifie la version du type d'activité. Remplace la version par défaut spécifiée dans l'annotation
@Activities
sur l'interface qui la contient. La valeur par défaut est une chaîne vide.
@ActivityRegistrationOptions
Spécifie les options d'enregistrement d'un type d'activité. Cette annotation peut être utilisée dans une interface annotée avec @Activities
ou les méthodes qu'elle contient. Si elle est spécifiée aux deux endroits, l'annotation utilisée sur la méthode prend effet.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
defaultTasklist
-
Spécifie la liste de tâches par défaut à enregistrer auprès d'Amazon SWF pour ce type d'activité. Cette valeur par défaut peut être remplacée lors de l'appel de la méthode d'activité sur le client généré à l'aide du paramètre
ActivitySchedulingOptions
. Définie surUSE_WORKER_TASK_LIST
par défaut. Il s'agit d'une valeur spéciale qui indique que la liste de tâches utilisée par l'exécuteur, qui effectue l'enregistrement, doit être utilisée. defaultTaskScheduleToStartTimeoutSeconds
-
Spécifie la valeur defaultTaskScheduleToStartTimeout enregistrée auprès d'Amazon SWF pour ce type d'activité. Il s'agit du temps d'attente maximum autorisé pour une tâche de ce type d'activité avant qu'elle soit affectée à un exécuteur. ConsultezAmazon Simple Workflow Servicepour plus d'informations.
defaultTaskHeartbeatTimeoutSeconds
-
Spécifie le
defaultTaskHeartbeatTimeout
enregistré auprès d'Amazon SWF pour ce type d'activité. Les exécuteurs doivent indiquer les pulsations pendant cette durée, faute de quoi la tâche sera interrompue. Défini sur -1 par défaut, qui est une valeur spéciale qui indique que ce délai d'attente doit être désactivé. ConsultezAmazon Simple Workflow Servicepour plus d'informations. defaultTaskStartToCloseTimeoutSeconds
-
Spécifie la valeur defaultTaskStartToCloseTimeout enregistrée auprès d'Amazon SWF pour ce type d'activité. Ce délai d'attente détermine le temps maximum de traitement d'une tâche d'activité de ce type par un exécuteur. ConsultezAmazon Simple Workflow Servicepour plus d'informations.
defaultTaskScheduleToCloseTimeoutSeconds
-
Spécifie le
defaultScheduleToCloseTimeout
enregistré auprès d'Amazon SWF pour ce type d'activité. Ce délai détermine la durée totale pendant laquelle la tâche peut rester ouverte. Défini sur -1 par défaut, qui est une valeur spéciale qui indique que ce délai d'attente doit être désactivé. ConsultezAmazon Simple Workflow Servicepour plus d'informations.
@Asynchrone
Lorsqu'elle est utilisée sur une méthode dans la logique de coordination du flux de travail, indique que la méthode doit être exécutée de manière asynchrone. Un appel à la méthode renverra immédiatement une valeur, mais l'exécution réelle se fera de manière asynchrone lorsque tous les paramètres Promise<> transmis aux méthodes seront prêts. Les méthodes annotées avec @Asynchronous doivent avoir le type de retour Promise<> ou être vides.
daemon
-
Indique si la tâche créée pour la méthode asynchrone doit être une tâche démon.
False
par défaut.
@Execute
En cas d'utilisation sur une méthode dans une interface annotée avec l'annotation @Workflow
, identifie le point d'entrée du flux de travail.
Important
Une seule méthode de l'interface peut être décorée avec @Execute
.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
name
-
Spécifie le nom du type de flux de travail. S'il n'est pas défini, le nom par défaut {préfixe}{nom}, où{préfixe} est le nom de l'interface du flux de travail suivi par un '.' et par {nom} est le nom de la méthode décorée
@Execute
du flux de travail. version
-
Spécifie la version du type de flux de travail.
@ExponentialRetry
En cas d'utilisation sur une activité ou une méthode asynchrone, définit une stratégie de nouvelle tentative exponentielle si la méthode lève une exception non gérée. Une nouvelle tentative est effectuée après une période d'interruption, qui est calculée en fonction du nombre de tentatives.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
intialRetryIntervalSeconds
-
Spécifie la durée d'attente avant la première tentative de relance. Cette valeur ne doit pas être supérieure à
maximumRetryIntervalSeconds
etretryExpirationSeconds
. maximumRetryIntervalSeconds
-
Spécifie la durée maximale entre les tentatives de relance. Une fois le délai atteint, l'intervalle de nouvelle tentative est plafonné à cette valeur. La valeur par défaut est -1, ce qui signifie une durée illimitée.
retryExpirationSeconds
-
Spécifie la durée après laquelle la stratégie de nouvelle tentative exponentielle s'arrêtera. La valeur par défaut est -1, ce qui signifie qu'elle n'expire pas.
backoffCoefficient
-
Spécifie le coefficient utilisé pour calculer l'intervalle de nouvelle tentative. Consulter Stratégie de nouvelle tentative exponentielle.
maximumAttempts
-
Indique le nombre de tentatives après lequel la stratégie de nouvelle tentative exponentielle s'arrêtera. La valeur par défaut est -1, ce qui signifie que le nombre de nouvelles tentatives est illimité.
exceptionsToRetry
-
Spécifie le nombre de fois que le client NFS doit déclencher une nouvelle tentative. L'exception non gérée de ces types ne se propagera plus et la méthode sera retentée après l'intervalle de nouvelle tentative calculé. Par défaut, la liste contient
Throwable
. excludeExceptions
-
Spécifie la liste des types d'exception qui ne doivent pas déclencher de nouvelle tentative. Les exceptions non gérées de ce type seront autorisées à se propager. Par défaut, la liste est vide.
@GetState
En cas d'utilisation sur une méthode dans une interface annotée avec @Workflow
, identifie que la méthode est utilisée pour récupérer le dernier état d'exécution du flux de travail. Au maximum, il peut y avoir une méthode avec cette annotation dans une interface portant l'annotation @Workflow
. Les méthodes ainsi annotées ne doivent pas prendre n'importe quel paramètre et leur type de retour doit impérativement être void
.
@ManualActivityCompletion
Cette annotation peut être utilisée sur une méthode d'activité pour indiquer que la tâche d'activité ne doit pas être terminée lorsque la méthode est renvoyée. La tâche d'activité ne sera pas automatiquement terminée et devra être effectuée manuellement, directement à l'aide de l'API Amazon SWF. Ceci est utile lorsque la tâche d'activité est déléguée à un système externe qui n'est pas automatisé ou nécessite une intervention humaine pour être terminée.
@Signal
En cas d'utilisation sur une méthode dans une interface annotée avec @Workflow
, identifie un signal qui peut être reçu par des exécutions du type de flux de travail déclaré par l'interface. L'utilisation de cette annotation est nécessaire pour définir une méthode de signal.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
name
-
Spécifie la partie nom du nom du signal. Si ce paramètre n'est pas défini, le nom de la méthode est utilisé.
@SkipRegistration
En cas d'utilisation dans une interface annotée avec le@Workflow
indique que le type de flux de travail ne doit pas être enregistré auprès d'Amazon SWF. L'une des annotations @WorkflowRegistrationOptions
et @SkipRegistrationOptions
doit être utilisée sur une interface annotée avec @Workflow
, mais pas les deux.
@Wait et @NoWait
Ces annotations peuvent être utilisées sur un paramètre de typePromise<>
pour indiquer si leAWS Flow Frameworkpour Java doit attendre qu'il soit prêt avant d'exécuter la méthode. Par défaut, les paramètres Promise<>
transmis aux méthodes @Asynchronous
doivent être prêts avant l'exécution de la méthode. Dans certaines situations, il est nécessaire de remplacer ce comportement par défaut. Les paramètres Promise<>
passés dans les méthodes @Asynchronous
et annotée avec @NoWait
ne sont pas attendus.
Les paramètres des collections (ou sous-classes) qui contiennent des objets Promise comme List<Promise<Int>>
, doivent être annotés avec @Wait
. Par défaut, l'infrastructure n'attend pas les membres d'une collection.
@Flux de travail
Cette annotation est utilisée sur une interface pour déclarer un type de flux de travail. Une interface décorée avec cette annotation doit contenir exactement une méthode qui est décorée avec @Execute pour déclarer un point d'entrée pour votre flux de travail.
Note
Dans une interface, les annotations @Workflow
et @Activities
ne peuvent pas être déclarées en même temps ; elles sont mutuellement exclusives.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
dataConverter
-
Spécifie quel
DataConverter
utiliser lors de l'envoi de demandes et de la réception de résultats pour les exécutions de flux de travail de ce type de flux de travail.La valeur par défaut
NullDataConverter
bascule à son tour surJsonDataConverter
pour traiter toutes les données des demandes et des réponses en tant que JavaScript Object Notation (JSON).
Exemple
import com.amazonaws.services.simpleworkflow.flow.annotations.Execute; import com.amazonaws.services.simpleworkflow.flow.annotations.Workflow; import com.amazonaws.services.simpleworkflow.flow.annotations.WorkflowRegistrationOptions; @Workflow @WorkflowRegistrationOptions(defaultExecutionStartToCloseTimeoutSeconds = 3600) public interface GreeterWorkflow { @Execute(version = "1.0") public void greet(); }
@WorkflowRegistrationOptions
Lorsqu'il est utilisé sur une interface annotée avec@Workflow
, fournit les paramètres par défaut utilisés pour Amazon SWF lors de l'enregistrement du type de flux de travail.
Note
Vous devez utiliser @WorkflowRegistrationOptions
ou @SkipRegistrationOptions
dans une interface annotée avec @Workflow
, mais vous ne pouvez pas spécifier les deux.
Les paramètres suivants peuvent être spécifiés sur cette annotation :
- Description
-
Texte descriptif facultatif du type de flux de travail.
defaultExecutionStartToCloseTimeoutSeconds
-
Spécifie le
defaultExecutionStartToCloseTimeout
enregistré auprès d'Amazon SWF pour le type de flux de travail. Durée totale autorisée pour qu'une exécution de flux de travail de ce type se termine.Pour plus d'informations sur les délais d'expiration des flux de travail, consultez la section Types de délai d'expiration Amazon SWF .
defaultTaskStartToCloseTimeoutSeconds
-
Spécifie le
defaultTaskStartToCloseTimeout
enregistré auprès d'Amazon SWF pour le type de flux de travail. Ce paramètre spécifie le temps maximum autorisé pour qu'une tâche de décision unique d'une exécution de flux de travail de ce type se termine.Si vous ne spécifiez pas
defaultTaskStartToCloseTimeout
, la valeur par défaut est 30 secondes.Pour plus d'informations sur les délais d'expiration des flux de travail, consultez la section Types de délai d'expiration Amazon SWF .
defaultTaskList
-
Liste de tâches par défaut utilisée pour les tâches de décision pour les exécutions de ce type de flux de travail. Cette valeur par défaut peut être remplacée en utilisant
StartWorkflowOptions
lors du démarrage d'une exécution de flux de travail.Si vous ne spécifiez pas
defaultTaskList
, la valeurUSE_WORKER_TASK_LIST
sera utilisée par défaut. Ce paramètre indique que la liste de tâches utilisée par l'exécuteur qui effectue l'enregistrement du flux de travail doit être utilisée. defaultChildPolicy
-
Spécifie la stratégie à utiliser pour les exécutions de flux de travail enfant si une exécution de ce type est arrêtée. La valeur par défaut est
ABANDON
. Les valeurs possibles sont :-
ABANDON
— Permet aux exécutions de flux de travail enfant de continuer à s'exécuter. -
TERMINATE
— Terminer les exécutions de flux de travail enfant -
REQUEST_CANCEL
Demande l'annulation de l'exécution du flux de travail enfant
-