Registro de tipos de flujos de trabajo y de actividades - AWS Flow Framework para Java

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Registro de tipos de flujos de trabajo y de actividades

Amazon SWF requiere que los tipos de actividades y de flujos de trabajo estén registrados para poder utilizarlos. El marco de trabajo registra automáticamente los flujos de trabajo y las actividades en las implementaciones que añada al proceso de trabajo. El marco de trabajo busca tipos que implementan los flujos de trabajo y las actividades, y los registra en Amazon SWF. De manera predeterminada, el marco de trabajo utiliza las definiciones de interfaz para inferir opciones de registro de tipos de flujos de trabajo y de actividades. Todas las interfaces de flujo de trabajo tienen que tener la anotación @WorkflowRegistrationOptions o la anotación @SkipRegistration. El proceso de trabajo de flujo de trabajo registra todos los tipos de flujo de trabajo con los que se ha configurado que tienen la anotación @WorkflowRegistrationOptions. De manera parecida, cada método de actividad deberá comentarse o bien mediante el comentario @ActivityRegistrationOptions o el comentario @SkipRegistration, o uno de estos comentarios tiene que estar presente en la interfaz @Activities. El proceso de trabajo de actividad registra todos los tipos de actividad con los que se ha configurado a los que se les aplica la anotación @ActivityRegistrationOptions. El registro se realiza automáticamente cuando inicia uno de los procesos de trabajo. Los tipos de flujos de trabajo y de actividades con la anotación @SkipRegistration no se registran. Las anotaciones @ActivityRegistrationOptions y @SkipRegistration tienen semántica de anulación y se aplica la más específica a un tipo de actividad.

Tenga en cuenta que Amazon SWF no le permite volver a registrar ni modificar el tipo una vez que lo ha registrado. El marco de trabajo tratará de registrar todos los tipos pero si el tipo ya se ha registrado no volverá a registrarse y no se informará de ningún error.

Si tiene que modificar una configuración registrada, tiene que registrar una versión nueva del tipo. También puede anular configuraciones registradas cuando comienza una nueva ejecución o al llamar una actividad que utiliza los clientes generados.

El registro exige un nombre de tipo y otras opciones de registro. La implementación predeterminada los determina de la siguiente manera:

Nombre del tipo de flujo de trabajo y versión

El marco de trabajo determina el nombre del tipo de flujo de trabajo a partir de la interfaz del grupo de trabajo. El formato del nombre predeterminado del tipo de flujo de trabajo es {{prefijo}{{nombre}. El {{prefijo} tiene el nombre de la interfaz @Workflow seguido de un '.' y el {{nombre} tiene el nombre del método @Execute. El nombre predeterminado del tipo de flujo de trabajo en el ejemplo anterior es MyWorkflow.startMyWF. Puede anular el nombre predeterminado usando el parámetro del nombre del método @Execute. El nombre predeterminado del tipo de flujo de trabajo en el ejemplo es startMyWF. El nombre no debe ser una cadena vacía. Tenga en cuenta que cuando anula el nombre mediante @Execute, el marco de trabajo no le agrega automáticamente un prefijo. Puede utilizar su propio esquema de nomenclatura.

La versión del flujo de trabajo se especifica mediante el parámetro version de la anotación @Execute. No hay valor predeterminado para version y debe especificarse explícitamente; version es una cadena de formato libre y puede utilizar su propio esquema de control de versiones.

Nombre de la señal

El nombre de la señal puede especificarse utilizando el parámetro del nombre de la anotación @Signal. Si no se especifica, adopta de manera predeterminada el nombre del método de la señal.

Nombre del tipo de actividad y versión

El marco de trabajo determina el nombre del tipo de actividad a partir de la interfaz de las actividades. El formato del nombre predeterminado del tipo de actividad es {{prefijo}{{nombre}. El {{prefijo} tiene el nombre de la interfaz @Activities seguido de un '.' y el {{nombre} tiene el nombre del método. El {{prefijo} predeterminado puede anularse en la anotación @Activities de la interfaz de actividades. También puede especificar el nombre del tipo de actividad utilizando la anotación @Activity en el método de la actividad. Tenga en cuenta que cuando anula el nombre mediante @Activity, el marco de trabajo no le agregará automáticamente un prefijo. Puede utilizar su propio esquema de nomenclatura.

La versión de la actividad se especifica mediante el parámetro de la versión de la anotación @Activities. Esta versión se utiliza como la versión predeterminada para todas las actividades definidas en la interfaz y puede anularse en función de la actividad mediante la anotación @Activity.

Default Task List

La lista de tareas predeterminadas puede configurarse mediante las anotaciones @WorkflowRegistrationOptions y @ActivityRegistrationOptions y configurando el parámetro defaultTaskList. De forma predeterminada, está establecido en USE_WORKER_TASK_LIST. Se trata de un valor especial que indica al marco de trabajo que utilice la lista de tareas configurada en el objeto del proceso de trabajo que se utiliza para registrar el tipo de actividad o de flujo de trabajo. También puede optar por no registrar una lista de tareas predeterminadas configurando la lista de tareas predeterminadas en NO_DEFAULT_TASK_LIST mediante estas anotaciones. Puede usarse en casos en los que quiera exigir que se especifique la lista de tareas en el tiempo de ejecución. Si no se ha registrado ninguna lista de tareas predeterminadas, tiene que especificar la lista de tareas al comenzar el flujo de trabajo o mediante una llamada al método de la actividad mediante los parámetros StartWorkflowOptions y ActivitySchedulingOptions en la sobrecarga respectiva del método del cliente generado.

Otras opciones de registro

Todas las opciones de registro de tipos de flujos de trabajo y de actividades que permite la API de Amazon SWF se pueden especificar a través del marco de trabajo.

Para obtener una lista completa de opciones de registro de flujo de trabajo, consulte los siguientes temas:

Para obtener una lista completa de opciones de registro de actividad, consulte los siguientes temas:

Si desea tener control absoluto sobre el registro de tipos, consulte Extensibilidad de proceso de trabajo.