Registrazione dei tipi di flusso di lavoro e di attività - AWS Flow Framework per Java

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Registrazione dei tipi di flusso di lavoro e di attività

Amazon SWF richiede la registrazione dei tipi di flusso di lavoro e attività per poterli utilizzare. Il framework registra automaticamente i flussi di lavoro e le attività nelle implementazioni che aggiungi al lavoratore. Il framework cerca i tipi che implementano flussi di lavoro e attività e li registra con Amazon SWF. Per impostazione predefinita, il framework utilizza le definizioni di interfaccia per dedurre le opzioni di registrazione per i tipi di flusso di lavoro e attività. Tutte le interfacce di flusso di lavoro devono avere l'annotazione @WorkflowRegistrationOptions o @SkipRegistration. Il lavoratore di flusso di lavoro registra tutti i tipi di flusso di lavoro con cui è configurato che hanno l'annotazione @WorkflowRegistrationOptions. Inoltre, ogni metodo di attività deve avere l'annotazione @ActivityRegistrationOptions o @SkipRegistration oppure una di queste annotazioni deve essere presente nell'interfaccia @Activities. Il lavoratore di attività registra tutti i tipi di attività con cui è configurato e a cui si applica un'annotazione @ActivityRegistrationOptions. La registrazione è eseguita automaticamente all'avvio di uno dei lavoratori. I tipi di flusso di lavoro e attività che hanno l'annotazione @SkipRegistration non sono registrati. Le annotazioni @ActivityRegistrationOptions e @SkipRegistration hanno la semantica di override e la più specifica viene applicata a un tipo di attività.

Nota che Amazon SWF non consente una nuova registrazione o la modifica del tipo dopo che è stato registrato. Il framework tenterà di registrare tutti i tipi, ma se il tipo è già registrato, la registrazione non verrà ripetuta e non verrà segnalato alcun errore.

Se hai la necessità di modificare le impostazioni registrate, devi registrate una nuova versione del tipo. Puoi anche eseguire l'override delle impostazioni registrate all'avvio di una nuova esecuzione o quando chiami un'attività che utilizza i client generati.

La registrazione richiede un nome di tipo e altre opzioni di registrazione. L'implementazione di default le determina come descritto di seguito.

Nome e versione del tipo di flusso di lavoro

Il framework determina il nome del tipo di flusso di lavoro a partire dall'interfaccia di flusso di lavoro. Il formato del nome di tipo di flusso di lavoro di default è {prefisso}{nome}. Il {prefisso} è impostato sul nome dell'interfaccia @Workflow seguito a un '.' e il {nome} è impostato sul nome del metodo @Execute. Il nome di default del tipo di flusso di lavoro nell'esempio precedente è MyWorkflow.startMyWF. Puoi eseguire l'override del nome di default utilizzando il parametro name del metodo @Execute. Il nome di default del tipo di flusso di lavoro nell'esempio è startMyWF. Il nome non deve essere una stringa vuota. Nota che quando esegui l'override del nome utilizzando @Execute, il framework non aggiunge automaticamente un prefisso davanti al nome. Sei libero di usare il tuo schema di denominazione.

La versione del flusso di lavoro viene specificata utilizzando il parametro version dell'annotazione @Execute. Non esiste un valore di default per version e quindi deve essere specificato in modo esplicito; version è una stringa in formato libero e sei libero di utilizzare uno schema di controllo delle versioni personalizzato.

Nome del segnale

Il nome del segnale può essere specificato utilizzando il parametro name dell'annotazione @Signal. Se non è specificato, per impostazione predefinita viene utilizzato il nome del metodo del segnale.

Nome e versione del tipo di attività

Il framework determina il nome del tipo di attività a partire dall'interfaccia di attività. Il formato del nome di attività di default è {prefisso}{nome}. Il {prefisso} è impostato sul nome dell'interfaccia @Activities seguito a un '.' e il {nome} è impostato sul nome del metodo. È possibile eseguire l'override del {prefisso} di default nell'annotazione @Activities nell'interfaccia di attività. Puoi anche specificare il nome del tipo di attività utilizzando l'annotazione @Activity nel metodo di attività. Nota che quando esegui l'ovveride del nome utilizzando @Activity, il framework non aggiungerà automaticamente un prefisso davanti al nome. Sei libero di utilizzare il tuo schema di denominazione.

La versione dell'attività viene specificata utilizzando il parametro version dell'annotazione @Activities. Questa versione è utilizzata come valore di default per tutte le attività definite nell'interfaccia ed è possibile eseguire l'override per una singola attività utilizzando l'annotazione @Activity.

Elenco di task predefinito

L'elenco di task di default può essere configurato utilizzando le annotazioni @WorkflowRegistrationOptions e @ActivityRegistrationOptions e impostando il parametro defaultTaskList. Per impostazione predefinita, è impostato su USE_WORKER_TASK_LIST. Questo è un valore speciale che indica al framework di utilizzare l'elenco di task configurato sull'oggetto lavoratore utilizzato per registrare il tipo di attività o di flusso di lavoro. Puoi anche scegliere di non registrare un elenco di task di default impostando NO_DEFAULT_TASK_LIST, nel caso tu voglia che l'elenco di task sia specificato al runtime. Se non è stato registrato alcun elenco di task di default, devi specificarlo all'avvio del flusso di lavoro o quando chiami il metodo di attività utilizzando i parametri StartWorkflowOptions e ActivitySchedulingOptions sull'overload del client generato per i rispettivi metodi.

Altre opzioni di registrazione

Tutte le opzioni di registrazione di flusso di lavoro e attività consentite dall'API di Amazon SWF di possono essere specificate mediante il framework.

Per un elenco completo delle opzioni di registrazione di flusso di lavoro, consulta quanto segue:

Per un elenco completo delle opzioni di registrazione di attività, consulta quanto segue:

Se desideri avere un controllo completo sulla registrazione dei tipi, consulta Estensibilità dei lavoratori.