Registrierung von Workflow- und Aktivitätstypen - AWS Flow Framework für Java

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Registrierung von Workflow- und Aktivitätstypen

Amazon SWF erfordert die Registrierung von Aktivitäts- und Workflow-Typen, bevor sie verwendet werden können. Das Framework registriert die Workflows und Aktivitäten automatisch in den Implementierungen, die Sie dem Worker hinzufügen. Das Framework sucht nach Typen, die Workflows und Aktivitäten implementieren, und registriert sie in Amazon SWF. Das Framework verwendet standardmäßig die Schnittstellendefinitionen, um Registrierungsoptionen für Workflow- und Aktivitätstypen abzuleiten. Alle Workflow-Schnittstellen müssen entweder über die @WorkflowRegistrationOptions-Annotation oder die @SkipRegistration-Annotation verfügen. Der Workflow-Worker registriert alle Workflow-Typen, mit denen er konfiguriert ist, die über die @WorkflowRegistrationOptions-Annotation verfügen. Gleichermaßen muss jede Aktivitätsmethode mit entweder der @ActivityRegistrationOptions-Annotation oder der @SkipRegistration-Annotation versehen sein oder es muss eine dieser Annotationen in der @Activities-Schnittstelle vorhanden sein. Der Aktivitäts-Worker registriert alle Aktivitäts-Typen, mit denen er konfiguriert ist, für die eine @ActivityRegistrationOptions-Annotation gilt. Die Registrierung wird beim Starten einer der Worker automatisch durchgeführt. Workflow- und Aktivitätsarten, die über @SkipRegistration-Annotation verfügen, werden nicht registriert. @ActivityRegistrationOptionsund @SkipRegistration-Annotationen besitzen eine Übersteuersemantik und die spezifischste wird auf einen Aktivitätstyp angewendet.

Beachten Sie Amazon SWF erneute Registrierung oder die Änderung des Typs nicht zulässt, sobald er registriert wurde. Das Framework wird versuchen, alle Typen zu registrieren, aber wenn der Typ bereits registriert ist, wird er nicht erneut registriert und es wird kein Fehler gemeldet.

Wenn Sie registrierte Einstellungen ändern möchten, müssen Sie eine neue Version des Typs registrieren. Sie können registrierte Einstellungen auch beim Starten einer neuen Ausführung oder beim Aufrufen einer Aktivität, die die generierten Clients verwendet, überschreiben.

Die Registrierung erfordert einen Typnamen und andere Registrierungsoptionen. Die Standardimplementierungen bestimmt diese wie folgt:

Workflow-Typname und Version

Das Framework bestimmt den Namen des Workflow-Typs über die Workflow-Schnittstelle. Das Format des standardmäßigen Workflow-Typnamens sieht wie folgt aus: {Präfix}{Name}. Das {Präfix} wird auf den Namen der @Workflow-Schnittstelle gefolgt von einem Punkt (.) festgelegt und der {Name} auf den Namen der @Execute-Methode. Der Standardname des Workflow-Typs im vorhergehenden Beispiel lautet MyWorkflow.startMyWF. Sie können den Standardnamen mithilfe des Namenparameters der @Execute-Methode überschreiben. Der Standardname des Workflow-Typs im Beispiel lautet startMyWF. Der Name darf keine leere Zeichenfolge sein. Beachten Sie, dass beim Überscheiben des Namens mit @Execute das Framework diesem nicht automatisch ein Präfix voranstellt. Es steht Ihnen frei, Ihr eigenes Namensschema zu verwenden.

Die Workflow-Version wird mit dem version-Parameter der @Execute-Annotation angegeben. Es gibt keinen Standard für version und es muss explizit angegeben werden. versionist eine formfreie Zeichenfolge und es steht Ihnen frei, Ihr eigenes Versioning-Schema zu verwenden.

Signalname

Der Name des Signals kann mit dem Namenparameter der @Signal-Annotation angegeben werden. Wenn nicht angegeben, gilt standardmäßig der Name der Signalmethode.

Aktivitätstypname und Version

Das Framework bestimmt den Namen des Aktivitätstypen über die Aktivitätenschnittstelle. Das Format des standardmäßigen Aktivitätstypnamen sieht wie folgt aus: {Präfix}{Name}. Das {Präfix} wird auf den Namen der @Activities-Schnittstelle gefolgt von einem Punkt (.) festgelegt und der {Name} auf den Methodenamen. Das standardmäßige {Präfix} kann in der @Activities-Annotation in der Aktivitätenschnittstelle überschrieben werden. Sie können den Namen des Aktivitätstyps auch mit der @Activity-Annotation in der Aktivitätsmethode angeben. Beachten Sie, dass beim Überscheiben des Namens mit @Activity das Framework diesem nicht automatisch ein Präfix voranstellt. Es steht Ihnen frei, Ihr eigenes Namensschema zu verwenden.

Die Aktivitätsversion wird mit dem Versionsparameter der @Activities-Annotation angegeben. Diese Version wird als Standard für alle Aktivitäten verwendet, die in der Schnittstelle definiert sind, und kann pro Aktivität mit der @Activity-Annotation überschrieben werden.

Standardaufgabenliste

Die Standardaufgabenliste kann mit den Annotationen @WorkflowRegistrationOptions und @ActivityRegistrationOptions und durch Festlegen des defaultTaskList-Parameters konfiguriert werden. Standardmäßig ist der Wert eingestell USE_WORKER_TASK_LIST. Dies ist ein spezieller Wert, der das Framework anweist, die Aufgabenliste zu verwenden, die in dem Worker-Objekt konfiguriert ist, das für die Registrierung des Aktivitäts- oder Workflow-Typs verwendet wird. Sie können eine Standardaufgabenliste auch nicht registrieren, indem Sie sie mit diesen Annotationen auf NO_DEFAULT_TASK_LIST festlegen. Dies kann in Fällen verwendet werden, bei denen Sie festlegen möchten, dass die Aufgabenliste zur Laufzeit angegeben werden soll. Wenn keine Standardaufgabenliste registriert wurde, müssen Sie die Aufgabenliste beim Starten des Workflows oder beim Aufrufen der Aktivitätsmethode mit den Parametern StartWorkflowOptions und ActivitySchedulingOptions für die jeweilige Methodenüberladung des generierten Clients angeben.

Weitere Registrierungsoptionen

Alle Registrierungsoptionen des Typs Workflow und Aktivität, die von der Amazon SWF SWF-API zugelassen werden, können über das Framework angegeben werden.

Eine vollständige Liste der Workflow-Registrierungsoptionen finden Sie im Folgenden:

Eine vollständige Liste der Aktivitäts-Registrierungsoptionen finden Sie im Folgenden:

Wenn Sie die vollständige Kontrolle über die Registrierung von Typen haben möchten, lesen Sie Worker-Erweiterbarkeit.