워크플로 및 활동 유형 등록 - AWS Flow Framework Java용

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

워크플로 및 활동 유형 등록

Amazon SWF에서는 활동 및 워크플로 유형을 사용하려면 이를 등록해야 합니다. 프레임워크에서는 사용자가 작업자에 추가하는 구현에 워크플로 및 활동을 자동으로 등록합니다. 프레임워크에서는 워크플로 및 활동을 구현하는 유형을 찾아 이를 Amazon SWF에 등록합니다. 기본적으로 프레임워크에서는 인터페이스 정의를 사용하여 워크플로 및 활동 유형의 등록 옵션을 유추합니다. 모든 워크플로 인터페이스에는 @WorkflowRegistrationOptions 주석 또는 @SkipRegistration 주석이 있어야 합니다. 워크플로 작업자는 @WorkflowRegistrationOptions 주석이 있는 모든 워크플로 유형을 등록합니다. 이와 마찬가지로 모든 활동 메서드는 @ActivityRegistrationOptions 주석 또는 @SkipRegistration 주석이 추가되거나 이 두 주석 중 하나가 @Activities 인터페이스에 표시되어야 합니다. 활동 작업자는 @ActivityRegistrationOptions 주석이 적용되는 모든 활동 유형을 등록합니다. 작업자 중 하나를 시작하면 자동으로 등록이 이루어집니다. @SkipRegistration 주석이 있는 워크플로 및 활동 유형은 등록되지 않습니다. @ActivityRegistrationOptions@SkipRegistration 주석에는 재정의 의미론이 있고 가장 구체적인 것이 활동 유형에 적용됩니다.

Amazon SWF에서는 한 번 등록된 유형은 재등록하거나 수정할 수 없다는 점에 유의하십시오. 프레임워크에서는 모든 유형을 등록하려고 할 것입니다. 그러나 이미 등록된 유형의 경우 재등록되지 않고 오류가 보고되지 않습니다.

등록된 설정을 수정해야 하는 경우 해당 유형의 새 버전을 등록해야 합니다. 새 실행을 시작하거나 생성된 클라이언트를 사용하는 활동을 호출할 때 등록된 설정을 재정의할 수도 있습니다.

등록하려면 유형 이름과 몇 가지 다른 등록 옵션이 필요합니다. 기본적인 구현에서는 이를 다음과 같이 결정합니다.

워크플로 유형 이름 및 버전

프레임워크에서는 워크플로 인터페이스에서 워크플로 유형의 이름을 정합니다. 기본 워크플로 유형 이름의 형식은 {prefix}{name}입니다. {prefix}는 @Workflow 인터페이스의 이름으로 설정되고 뒤에 '.'가 추가되며 {name}은 @Execute 메서드의 이름으로 설정됩니다. 앞의 예에서 워크플로 유형의 기본 이름은 MyWorkflow.startMyWF입니다. @Execute 메서드의 이름 파라미터를 사용하여 기본 이름을 재정의할 수 있습니다. 예시에서 워크플로 유형의 기본 이름은 startMyWF입니다. 이 이름은 빈 문자열이어서는 안 됩니다. @Execute를 사용하여 이름을 재정의하는 경우 프레임워크에서는 이름에 접두사를 자동으로 붙이지 않는다는 점에 유의하십시오. 고유한 이름 지정 체계를 자유롭게 사용할 수 있습니다.

워크플로 버전은 @Execute 주석의 version 파라미터를 사용해 지정됩니다. version의 기본값은 없고 명시적으로 지정되어야 합니다. version은 자유 형식 문자열로서, 고유한 버전 관리 체계를 자유롭게 사용할 수 있습니다.

신호 이름

신호의 이름은 @Signal 주석의 이름 파라미터를 사용해 지정할 수 있습니다. 지정하지 않는 경우 기본값인 신호 메서드의 이름이 지정됩니다.

활동 유형 이름 및 버전

프레임워크에서는 활동 인터페이스에서 활동 유형의 이름을 정합니다. 기본 활동 유형 이름의 형식은 {prefix}{name}입니다. {prefix}는 @Activities 인터페이스의 이름으로 설정되고 뒤에 '.'가 추가되며 {name}은 메서드 이름으로 설정됩니다. 기본 {prefix}는 활동 인터페이스의 @Activities 주석에서 재정의할 수 있습니다. 또한 활동 메서드의 @Activity 주석을 사용하여 활동 유형 이름을 지정할 수도 있습니다. @Activity를 사용하여 이름을 재정의하는 경우 프레임워크에서는 이름에 접두사를 자동으로 붙이지 않는다는 점에 유의하십시오. 고유한 이름 지정 체계를 자유롭게 사용할 수 있습니다.

활동 버전은 @Activities 주석의 버전 파라미터를 사용해 지정됩니다. 이 버전은 인터페이스에 정의된 모든 활동에 대해 기본값으로 사용되며 @Activity 주석을 사용해 활동별로 재정의할 수 있습니다.

기본 작업 목록

기본 작업 목록은 @WorkflowRegistrationOptions@ActivityRegistrationOptions 주석을 사용하고 defaultTaskList 파라미터를 설정하여 구성할 수 있습니다. 기본적으로 USE_WORKER_TASK_LIST로 설정됩니다. 이것은 활동 또는 워크플로 유형 등록에 사용되는 작업자 객체에 구성된 작업 목록을 사용하도록 프레임워크에게 지시하는 특수 값입니다. 또한 이 주석을 사용해 기본 작업 목록을 NO_DEFAULT_TASK_LIST로 설정하여 기본 작업 목록을 등록하지 않는 쪽을 선택할 수도 있습니다. 이 방법은 작업 목록이 런타임에 지정되도록 하고 싶은 경우에 사용할 수 있습니다. 기본 작업 목록이 등록되지 않은 경우 생성된 클라이언트의 해당되는 메서드 오버로드에 관한 StartWorkflowOptionsActivitySchedulingOptions 파라미터를 사용하여 워크플로를 시작하거나 활동 메서드를 시작할 때 작업 목록을 지정해야 합니다.

기타 등록 옵션

Amazon SWF API에서 허용하는 모든 워크플로 및 활동 유형 등록 옵션은 프레임워크를 통해 지정할 수 있습니다.

워크플로 등록 옵션의 전체 목록은 다음을 참조하십시오.

활동 등록 옵션의 전체 목록은 다음을 참조하십시오.

유형 등록을 완벽히 제어하고 싶다면 작업자 확장성 단원을 참조하십시오.