기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
워크플로 및 활동 유형 등록
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
로 설정하여 기본 작업 목록을 등록하지 않는 쪽을 선택할 수도 있습니다. 이 방법은 작업 목록이 런타임에 지정되도록 하고 싶은 경우에 사용할 수 있습니다. 기본 작업 목록이 등록되지 않은 경우 생성된 클라이언트의 해당되는 메서드 오버로드에 관한 StartWorkflowOptions
및 ActivitySchedulingOptions
파라미터를 사용하여 워크플로를 시작하거나 활동 메서드를 시작할 때 작업 목록을 지정해야 합니다.
기타 등록 옵션
Amazon SWF API에서 허용하는 모든 워크플로 및 활동 유형 등록 옵션은 프레임워크를 통해 지정할 수 있습니다.
워크플로 등록 옵션의 전체 목록은 다음을 참조하십시오.
활동 등록 옵션의 전체 목록은 다음을 참조하십시오.
유형 등록을 완벽히 제어하고 싶다면 작업자 확장성 단원을 참조하십시오.