기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Flow Framework for Java 주석
주제
@활동
인터페이스에서 이 주석을 사용하여 일련의 활동 유형을 선언할 수 있습니다. 이 주석이 달린 인터페이스의 각 메서드는 활동 유형을 나타냅니다. 한 인터페이스에 @Workflow
및 @Activities
주석이 둘 다 있을 수는 없습니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
activityNamePrefix
-
인터페이스에서 선언된 활동 유형의 이름에 붙일 접두사를 지정합니다. 기본값인 빈 문자열로 설정된 경우 '.' 앞에 있는 인터페이스 이름이 접두사로 사용됩니다.
version
-
인터페이스에서 선언된 활동 유형의 기본 버전을 지정합니다. 기본값은
1.0
입니다. dataConverter
-
이 활동 유형의 작업 및 그 결과 생성 시 데이터 직렬화/역직렬화에 사용할
DataConverter
의 유형을 지정합니다.NullDataConverter
를 기본값으로 설정합니다. 이 값은JsonDataConverter
를 사용해야 함을 뜻합니다.
@활동
이 주석은 @Activities
가 주석으로 달린 인터페이스 내의 메서드에서 사용할 수 있습니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
name
-
활동 유형의 이름을 지정합니다. 기본값은 빈 문자열입니다. 이는 활동 유형의 이름을 정할 때 기본 접두사 및 활동 메서드 이름을 사용해야 함을 뜻합니다({접두사}{이름} 형식).
@Activity
주석에서 이름을 지정하는 경우 프레임워크에서는 그 이름에 접두사를 자동으로 붙이지 않는다는 점에 유의하십시오. 고유한 이름 지정 체계를 자유롭게 사용할 수 있습니다. version
-
활동 유형의 버전을 지정합니다. 이렇게 하면 포함된 인터페이스의
@Activities
주석에 지정된 기본 버전이 재정의됩니다. 기본값은 빈 문자열입니다.
@ActivityRegistrationOptions
활동 유형의 등록 옵션을 지정합니다. 이 주석은 @Activities
가 주석으로 달린 인터페이스 또는 이 인터페이스 내의 메서드에서 사용할 수 있습니다. 두 군데에서 모두 지정하면 메서드에서 사용되는 주석이 적용됩니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
defaultTasklist
-
이 활동 유형에 대해 Amazon SWF에 등록할 기본 작업 목록을 지정합니다. 이 기본값은
ActivitySchedulingOptions
파라미터를 사용하는 생성된 클라이언트의 활동 메서드를 호출할 때 재정의할 수 있습니다.USE_WORKER_TASK_LIST
를 기본값으로 설정합니다. 이 값은 등록을 수행 중인 작업자가 사용하는 작업 목록을 사용해야 함을 나타내는 특수 값입니다. defaultTaskScheduleToStartTimeoutSeconds
-
이 활동 유형에 대해 Amazon SWF에 등록할 defaultTaskScheduleToStartTimeout을 지정합니다. 이것은 이 활동 유형의 작업이 작업자에게 할당될 때까지 대기하도록 허용되는 최대 시간입니다. 자세한 내용은 Amazon Simple Workflow Service API 참조를 참조하십시오.
defaultTaskHeartbeatTimeoutSeconds
-
이 활동 유형에 대해 Amazon SWF에 등록될
defaultTaskHeartbeatTimeout
을 지정합니다. 활동 작업자는 이 시간 내에 하트비트를 제공해야 합니다. 그러지 않으면 작업이 제한 시간을 초과하게 됩니다. 이 제한 시간을 비활성화해야 함을 암시하는 특수 값인 -1이 기본값으로 설정됩니다. 자세한 내용은 Amazon Simple Workflow Service API 참조를 참조하십시오. defaultTaskStartToCloseTimeoutSeconds
-
이 활동 유형에 대해 Amazon SWF에 등록할 defaultTaskStartToCloseTimeout을 지정합니다. 이 제한 시간을 통해 작업자가 이 유형의 활동 작업을 처리하는 데 허용되는 최대 시간이 결정됩니다. 자세한 내용은 Amazon Simple Workflow Service API 참조를 참조하십시오.
defaultTaskScheduleToCloseTimeoutSeconds
-
이 활동 유형에 대해 Amazon SWF에 등록될
defaultScheduleToCloseTimeout
을 지정합니다. 이 제한 시간을 통해 작업이 개방 상태에 머물 수 있는 총 시간이 결정됩니다. 이 제한 시간을 비활성화해야 함을 암시하는 특수 값인 -1이 기본값으로 설정됩니다. 자세한 내용은 Amazon Simple Workflow Service API 참조를 참조하십시오.
@비동기식
워크플로 조정 로직에 있는 메서드에서 사용되는 경우 메서드를 비동기식으로 실행해야 함을 나타냅니다. 메서드를 호출하면 즉시 결과를 반환하지만, 실제 실행은 메서드로 전달된 모든 Promise<> 파라미터가 준비 상태가 될 때 비동기식으로 이루어집니다. @Asynchronous라는 주석이 달린 메서드에는 Promise<> 또는 void 반환 유형이 있어야 합니다.
daemon
-
비동기식 메서드에 대해 생성된 작업이 대몬(daemon) 작업인지 여부를 나타냅니다. 기본적으로
False
로 설정됩니다.
@실행
@Workflow
주석이 붙은 인터페이스의 메서드에서 사용되는 경우 워크플로의 진입점을 식별합니다.
중요
인터페이스에 있는 메서드 하나만 @Execute
로 장식할 수 있습니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
name
-
워크플로 유형의 이름을 지정합니다. 설정되지 않은 경우 이름은 {접두사}{이름}으로 기본 설정됩니다. 여기에서 {접두사}는 '.' 앞에 있는 워크플로 인터페이스의 이름이고 {이름}은 워크플로에 있는
@Execute
장식 메서드의 이름입니다. version
-
워크플로 유형의 버전을 지정합니다.
@ExponentialRetry
활동 또는 비동기식 메서드에서 사용되는 경우 메서드에서 미처리 예외가 발생하면 기하급수적 재시도 정책을 설정합니다. 재시도는 시도 회수의 제곱으로 계산되는 백오프 기간 이후에 이루어집니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
intialRetryIntervalSeconds
-
첫 번째 재시도가 이루어질 때까지 대기할 시간을 지정합니다. 이 값은
maximumRetryIntervalSeconds
및retryExpirationSeconds
보다 커서는 안 됩니다. maximumRetryIntervalSeconds
-
재시도 사이의 최대 시간 간격을 지정합니다. 최대 시간에 이르면 재시도 간격은 이 값으로 제한됩니다. 무제한 시간을 뜻하는 -1이 기본값으로 설정됩니다.
retryExpirationSeconds
-
기하급수적 재시도가 중단되는 시간을 지정합니다. 만료가 없음을 뜻하는 -1이 기본값으로 설정됩니다.
backoffCoefficient
-
재시도 간격을 계산하는 데 사용되는 계수를 지정합니다. 기하급수적 재시도 전략 섹션을 참조하세요.
maximumAttempts
-
기하급수적 재시도가 중단되는 시도 회수를 지정합니다. 재시도 횟수에 제한이 없음을 뜻하는 -1이 기본값으로 설정됩니다.
exceptionsToRetry
-
재시도를 트리거해야 하는 예외 유형의 목록을 지정합니다. 이 유형의 미처리 예외는 더 전파되지 않고, 메서드는 계산된 재시도 간격이 지나면 재시도됩니다. 기본적으로 목록에는
Throwable
이 포함됩니다. excludeExceptions
-
재시도를 트리거해서는 안 되는 예외 유형의 목록을 지정합니다. 이 유형의 미처리 예외가 전파되도록 허용됩니다. 목록은 기본적으로 비어 있습니다.
@GetState
@Workflow
주석이 붙은 인터페이스의 메서드에서 사용되는 경우 이 메서드가 최신 워크플로 실행 상태를 조회하는 데 사용되는지 식별합니다. @Workflow
라는 주석이 달린 인터페이스에는 이 주석이 달린 메서드가 최대 한 개 있을 수 있습니다. 이 주석이 달린 메서드에서는 파라미터를 받아들여서는 안 되고 void
가 아닌 반환 유형이 있어야 합니다.
@ManualActivityCompletion
활동 메서드에서 이 주석을 사용하여, 메서드에서 결과가 반환될 때 활동 작업이 완료되어서는 안 됨을 나타낼 수 있습니다. 활동 작업은 자동으로 완료되지 않으므로 Amazon SWF API를 사용하여 직접 수동으로 완료해야 합니다. 이 기능은 활동 작업이 자동화되지 않은 일부 외부 시스템에 위임되거나 완료를 위해 인간의 개입이 필요한 경우의 사용 사례로 유용합니다.
@신호
@Workflow
주석이 붙은 인터페이스의 메서드에서 사용되는 경우 인터페이스에서 선언한 워크플로 유형의 실행에서 수신할 수 있는 신호를 식별합니다. 이 주석을 사용하려면 신호 메서드를 정의해야 합니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
name
-
신호 이름의 이름 부분을 지정합니다. 지정하지 않을 경우 메서드의 이름이 사용됩니다.
@SkipRegistration
@Workflow
주석이 붙은 인터페이스에서 사용되는 경우 워크플로 유형이 Amazon SWF에 등록되어서는 안 됨을 나타냅니다. @Workflow
라는 주석이 달린 인터페이스에서는 @WorkflowRegistrationOptions
및 @SkipRegistrationOptions
주석 둘 다가 아닌 둘 중 하나를 사용해야 합니다.
@Wait 및 @NoWait
이 주석을 Promise<>
유형의 파라미터에서 사용하여 AWS Flow Framework for Java가 이 파라미터가 준비 상태가 될 때까지 기다렸다가 메서드를 실행할지 여부를 나타낼 수 있습니다. 기본적으로 @Asynchronous
메서드로 전달되는 Promise<>
파라미터는 메서드가 실행되기 전에 준비 상태가 되어야 합니다. 어떤 상황에서는 이 기본 동작을 재정의해야 합니다. @Asynchronous
메서드로 전달되고 @NoWait
라는 주석이 달린 Promise<>
파라미터는 대기 대상이 아닙니다.
List<Promise<Int>>
와 같이 약속이 포함된 모음 파라미터(또는 약속의 하위 클래스)는 @Wait
라는 주석이 달려 있어야 합니다. 기본적으로 프레임워크에서는 모음의 멤버를 기다리지 않습니다.
@워크플로
인터페이스에서 워크플로 유형을 선언할 때 이 주석이 사용됩니다. 워크플로에 대해 진입점을 선언하려면 이 주석으로 장식된 인터페이스에 @실행 주석으로 장식된 메서드가 정확히 한 개 포함되어 있어야 합니다.
참고
인터페이스에는 동시에 선언된 @Workflow
및 @Activities
주석이 둘 다 있을 수 없습니다. 이 둘은 상호 배타적입니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
dataConverter
-
이 워크플로 유형의 워크플로 실행에 요청을 전송하고 그로부터 결과를 수신할 때 사용할
DataConverter
를 지정합니다.기본값은 모든 요청 및 응답 데이터를 JavaScript Object Notation(JSON)으로 처리하기 위해 결국
JsonDataConverter
로 폴백하는NullDataConverter
입니다.
예
import com.amazonaws.services.simpleworkflow.flow.annotations.Execute; import com.amazonaws.services.simpleworkflow.flow.annotations.Workflow; import com.amazonaws.services.simpleworkflow.flow.annotations.WorkflowRegistrationOptions; @Workflow @WorkflowRegistrationOptions(defaultExecutionStartToCloseTimeoutSeconds = 3600) public interface GreeterWorkflow { @Execute(version = "1.0") public void greet(); }
@WorkflowRegistrationOptions
@Workflow
주석이 달린 인터페이스에서 사용되는 경우 워크플로 유형 등록 시 Amazon SWF에서 사용한 기본 설정을 제공합니다.
참고
@Workflow
라는 주석이 달린 인터페이스에서는 @WorkflowRegistrationOptions
또는 @SkipRegistrationOptions
주석을 사용해야 합니다. 둘 다 지정할 수는 없습니다.
이 주석에는 다음 파라미터를 지정할 수 있습니다.
- 설명
-
워크플로 유형에 대한 텍스트 설명(선택 사항)입니다.
defaultExecutionStartToCloseTimeoutSeconds
-
워크플로 유형에 대해 Amazon SWF에 등록될
defaultExecutionStartToCloseTimeout
을 지정합니다. 이것은 이 유형의 워크플로 실행이 완료되는 데 걸리는 최대 시간입니다.워크플로 제한 시간에 대한 자세한 내용은 Amazon SWF 제한 시간 유형 단원을 참조하십시오.
defaultTaskStartToCloseTimeoutSeconds
-
워크플로 유형에 대해 Amazon SWF에 등록될
defaultTaskStartToCloseTimeout
을 지정합니다. 이것은 이 유형의 워크플로 실행에 대한 결정 작업 하나가 완료되는 데 허용되는 시간입니다.defaultTaskStartToCloseTimeout
을 지정하지 않으면 30초로 기본 설정됩니다.워크플로 제한 시간에 대한 자세한 내용은 Amazon SWF 제한 시간 유형 단원을 참조하십시오.
defaultTaskList
-
이 워크플로 유형의 실행에 대한 결정 작업에 사용되는 기본 작업 목록입니다. 여기에 설정된 기본값은 워크플로 실행을 시작할 때
StartWorkflowOptions
를 사용하여 재정의할 수 있습니다.defaultTaskList
를 지정하지 않으면USE_WORKER_TASK_LIST
로 기본 설정됩니다. 이 값은 워크플로 등록을 수행 중인 작업자가 사용하는 작업 목록을 사용해야 함을 나타냅니다. defaultChildPolicy
-
이 유형의 실행이 종료된 경우 하위 워크플로에 사용할 정책을 지정합니다. 기본값은
ABANDON
입니다. 가능한 값은 다음과 같습니다.-
ABANDON
– 하위 워크플로 실행이 계속 실행되도록 합니다 -
TERMINATE
– 하위 워크플로 실행을 종료합니다 -
REQUEST_CANCEL
– 하위 워크플로 실행의 취소를 요청합니다
-