Enregistrement des types de flux de travail et d'activité - AWS Flow Framework pour Java

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.

Enregistrement des types de flux de travail et d'activité

Amazon SWF a besoin que les types d'activité et de flux de travail soient enregistrés pour pouvoir les utiliser. L'infrastructure enregistre automatiquement les flux de travail et les activités dans les implémentations que vous ajoutez à l'exécuteur. L'infrastructure recherche les types qui implémentent les flux de travail et les activités, et les enregistre auprès de Amazon SWF. Par défaut, l'infrastructure utilise les définitions d'interface pour déduire des options d'enregistrement pour les types de flux de travail et d'activité. Toutes les interfaces de flux de travail doivent avoir l'annotation @WorkflowRegistrationOptions ou l'annotation @SkipRegistration. L'exécuteur de flux de travail enregistre tous les types de flux de travail avec lesquels il est configuré qui ont l'annotation @WorkflowRegistrationOptions. De même, chaque méthode d'activité doit être annotée avec l'annotation @ActivityRegistrationOptions ou l'annotation @SkipRegistration, ou l'une de ces annotations doivent être présente dans l'interface @Activities. L'exécuteur d'activité enregistre tous les types d'activité avec lesquelles il est configuré auxquelles une annotation @ActivityRegistrationOptions s'applique. L'enregistrement est effectué automatiquement lorsque vous démarrez l'un des exécuteurs. Les flux de travail et types d'activité ayant l'annotation @SkipRegistration ne sont pas enregistrés. Les annotations @ActivityRegistrationOptions et @SkipRegistration remplacent les annotations sémantiques et la plus spécifique est appliquée à un type d'activité.

Notez qu'Amazon SWF ne vous permet pas de réenregistrer ou de modifier le type une fois que celui-ci a été enregistré. L'infrastructure tente d'enregistrer tous les types, mais si le type est déjà enregistré, celui-ci n'est pas réenregistré et aucune erreur n'est signalée.

Si vous devez modifier des paramètres enregistrés, vous devez enregistrer une nouvelle version du type. Vous pouvez également remplacer des paramètres enregistrés quand vous démarrez une nouvelle exécution ou quand vous appelez une activité qui utilise les clients générés.

L'enregistrement nécessite un nom de type et d'autres options d'enregistrement. L'implémentation par défaut détermine ces options comme suit :

Nom et version de type de flux de travail

L'infrastructure détermine le nom du type de flux de travail à partir de l'interface de flux de travail. Le format du nom de type de flux de travail par défaut est {{préfixe}{{nom}. Le {préfixe} est défini sur le nom de l'interface @Workflow suivi d'un point (.) et le {nom} est défini sur le nom de la méthode @Execute. Le nom par défaut du type de flux de travail dans l'exemple précédent est MyWorkflow.startMyWF. Vous pouvez remplacer le nom par défaut à l'aide du paramètre de nom de la méthode @Execute. Le nom par défaut du type de flux de travail dans l'exemple est startMyWF. Le nom ne doit pas être une chaîne vide. Notez que lorsque vous remplacez le nom à l'aide de la méthode @Execute, l'infrastructure ne le fait pas précéder automatiquement par une préfixe. Vous êtes libre d'utiliser votre propre schéma d'attribution de noms.

La version de flux de travail est spécifiée à l'aide du paramètre version de l'annotation @Execute. Il n'existe pas de valeur par défaut pour version et celle-ci doit être spécifiée explicitement ; version est une chaîne de forme libre, et vous pouvez utiliser votre propre schéma de gestion des versions.

Nom du signal

La nom du signal peut être spécifié à l'aide du paramètre de nom de l'annotation @Signal. S'il n'est pas spécifié, il prend par défaut le nom de la méthode signal.

Nom et version de type de flux d'activité

L'infrastructure détermine le nom du type d'activité à partir de l'interface d'activités. Le format du nom de type d'activité par défaut est {{préfixe}{{nom}. Le {préfixe} est défini sur le nom de l'interface @Activities suivi d'un point (.) et le {nom} est défini sur le nom de la méthode. Le {{préfixe} par défaut peut être remplacé par l'annotation @Activities sur l'interface d'activités. Vous pouvez également spécifier le nom de type d'activité à l'aide de l'annotation @Activity sur la méthode d'activité. Notez que lorsque vous remplacez le nom à l'aide de la méthode @Activity, l'infrastructure ne le fera pas précéder automatiquement par une préfixe. Vous êtes libre d'utiliser votre propre schéma d'attribution de noms.

La version d'activité est spécifiée à l'aide du paramètre de version de l'annotation @Activities. Cette version est utilisée comme version par défaut pour toutes les activités définies dans l'interface et peut être remplacée pour une activité individuelle à l'aide de l'annotation @Activity.

Default Task List

La liste de tâches par défaut peut être configurée en utilisant les annotations @WorkflowRegistrationOptions et @ActivityRegistrationOptions, et en définissant le paramètre defaultTaskList. Par défaut, l'attribut est défini sur USE_WORKER_TASK_LIST. Il s'agit d'une valeur spéciale qui demande à l'infrastructure d'utiliser la liste de tâches configurée sur l'exécuteur qui est utilisé pour enregistrer le type d'activité ou de flux de travail. Vous pouvez également choisir de ne pas enregistrer de liste de tâches par défaut en définissant la liste de tâches par défaut sur NO_DEFAULT_TASK_LIST à l'aide de ces annotations. Vous pouvez utiliser cette option si vous souhaitez que la liste de tâches soit spécifiée lors de l'exécution. Si aucune liste de tâches n'a été enregistrée, vous devez spécifier la liste de tâches lorsque vous démarrez le flux de travail ou que vous appelez la méthode d'activité à l'aide des paramètres StartWorkflowOptions et ActivitySchedulingOptions sur la surcharge des méthodes respectives du client généré.

Autres options d'enregistrement

Toutes les options d'enregistrement de type de flux de travail et d'activité qui sont autorisées par l'API Amazon SWF peuvent être spécifiées via l'infrastructure.

Pour accéder à une liste complète des options d'enregistrement de flux de travail, consultez les sections suivantes :

Pour accéder à une liste complète des options d'enregistrement d'activité, consultez les sections suivantes :

Si vous voulez exercer un contrôle complet sur le type d'enregistrement, consultez Extensibilité de l'exécuteur.