翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Flow Framework for Java の注釈
トピック
@Activities
この注釈をインターフェイスに設定してアクティビティタイプのセットを宣言できます。この注釈を設定したインターフェイスの各メソッドはアクティビティタイプを表します。インターフェイスには、@Workflow
注釈と @Activities
注釈の両方は設定できません
この注釈では、以下のパラメータを指定できます。
activityNamePrefix
-
インターフェイスで宣言したアクティビティタイプの名前のプレフィックスを指定します。空の文字列 (デフォルト) に設定すると、インターフェースの名前の後に「.」がプレフィックスとして使用されます。
version
-
インターフェイスで宣言したアクティビティタイプのデフォルトバージョンを指定します。デフォルト値は
1.0
です。 dataConverter
-
このアクティビティタイプとその結果を作成するときに、データのシリアル化/逆シリアル化に使用する
DataConverter
の型を指定します。デフォルトではNullDataConverter
に設定されます。この場合、JsonDataConverter
を使用することを指示します。
@Activity
この注釈は、@Activities
で注釈を設定したインターフェイス内のメソッドで使用できます。
この注釈では、以下のパラメータを指定できます。
name
-
アクティビティタイプの名前を指定します。デフォルトの空の文字列では、デフォルトのプレフィックスとアクティビティメソッドの名前を使用して、アクティビティタイプの名前 ({{prefix}{{name} 形式) を決定します。
@Activity
注釈で名前を指定する場合、フレームワークでは自動的にプレフィックスを先頭に追加しないことに注意してください。独自の命名スキームを使用することができます。 version
-
アクティビティタイプのバージョンを指定します。これにより、含むインターフェイスで
@Activities
注釈に指定したデフォルトバージョンは上書きされます。デフォルトは空の文字列です。
@ActivityRegistrationOptions
アクティビティタイプの登録オプションを指定します。この注釈は、@Activities
で注釈を設定したインターフェイスまたはインターフェイス内のメソッドで使用できます。両方の場所に指定すると、メソッドに設定した注釈が適用されます。
この注釈では、以下のパラメータを指定できます。
defaultTasklist
-
このアクティビティタイプに対して Amazon SWF に登録されているデフォルトのタスクリストを指定します。このデフォルトは、生成されたクライアントでアクティビティメソッドを呼び出すときに、
ActivitySchedulingOptions
パラメータを使用して上書きできます。デフォルトではUSE_WORKER_TASK_LIST
に設定されます。この特別な値では、登録を担当するワーカーで使用しているタスクリストを使用することを指定します。 defaultTaskScheduleToStartTimeoutSeconds
-
このアクティビティタイプに対して Amazon SWF に登録されている defaultTaskScheduleToStartTimeout を指定します。このアクティビティタイプのタスクをワーカーに割り当てるまでに許容される最大の待機時間を示します。詳細については、「Amazon Simple Workflow Service API Reference」(Amazon Simple Workflow Service API リファレンス) を参照してください。
defaultTaskHeartbeatTimeoutSeconds
-
このアクティビティタイプに対して Amazon SWF に登録されている
defaultTaskHeartbeatTimeout
を指定します。アクティビティワーカーは、この時間内にハートビートを提供する必要があります。提供しない場合、タスクはタイムアウトになります。デフォルトでは -1 に設定されます。この特別な値では、このタイムアウトを無効化することを指定します。詳細については、「Amazon Simple Workflow Service API Reference」(Amazon Simple Workflow Service API リファレンス) を参照してください。 defaultTaskStartToCloseTimeoutSeconds
-
このアクティビティタイプに対して Amazon SWF に登録されている defaultTaskStartToCloseTimeout を指定します。このタイムアウトは、このタイプのアクティビティタスクをワーカーで処理する最大許容時間を決定します。詳細については、「Amazon Simple Workflow Service API Reference」(Amazon Simple Workflow Service API リファレンス) を参照してください。
defaultTaskScheduleToCloseTimeoutSeconds
-
このアクティビティタイプに対して Amazon SWF に登録されている
defaultScheduleToCloseTimeout
を指定します。このタイムアウトは、タスクをオープン状態に保持できる総時間を決定します。デフォルトでは -1 に設定されます。この特別な値では、このタイムアウトを無効化することを指定します。詳細については、「Amazon Simple Workflow Service API Reference」(Amazon Simple Workflow Service API リファレンス) を参照してください。
@Asynchronous
ワークフロー調整ロジックのメソッドで使用した場合、メソッドを非同期的に実行することを指定します。メソッドへの呼び出しは即座に戻りますが、実際の実行は、メソッドに渡したすべての Promise<> パラメータが準備完了状態になったときに非同期的に行われます。@Asynchronous で注釈を設定したメソッドは、戻り値の型として Promise<> または void を使用する必要があります。
daemon
-
非同期メソッド用に作成したタスクをデーモンタスクにするかどうかを指定します。デフォルトでは
False
です。
@Execute
@Workflow
で注釈を設定したインターフェイスのメソッドで使用した場合、ワークフローのエントリポイントを識別します。
重要
@Execute
で修飾できるインターフェイスのメソッドは 1 つのみです。
この注釈では、以下のパラメータを指定できます。
name
-
ワークフロータイプの名前を指定します。設定しない場合は、デフォルトで {prefix}{name} に設定されます。ここで、{prefix} は、ワークフローインターフェイスの名前に「.」がついたもの、{name} は、ワークフロー内で
@Execute
で修飾されたメソッドの名前を表します。 version
-
ワークフロータイプのバージョンを指定します。
@ExponentialRetry
アクティビティまたは非同期メソッドで使用した場合、処理されない例外がメソッドからスローされると、指数再試行ポリシーを設定します。再試行は、試行数の累乗によって計算されるバックオフ期間の後に行われます。
この注釈では、以下のパラメータを指定できます。
intialRetryIntervalSeconds
-
最初の再試行までに待機する時間を指定します。この値は、
maximumRetryIntervalSeconds
およびretryExpirationSeconds
以下にする必要があります。 maximumRetryIntervalSeconds
-
再試行間の最大時間を指定します。最大時間に達すると、この値が再試行間隔の上限となります。デフォルトの -1 に設定すると、時間は無制限になります。
retryExpirationSeconds
-
指数再試行を停止する期限を指定します。デフォルトの -1 に設定すると、有効期限切れはありません。
backoffCoefficient
-
再試行間隔の計算に使用する係数を指定します。「指数的再試行戦略」を参照してください。
maximumAttempts
-
指数再試行を停止するまでの試行数を指定します。デフォルトの -1 に設定すると、再試行数に制限はありません。
exceptionsToRetry
-
再試行をトリガーする例外タイプのリストを指定します。これらのタイプの処理されない例外は以後伝播されず、計算された再試行間隔の後でメソッドが再試行されます。デフォルトでは、リストに
Throwable
が含まれます。 excludeExceptions
-
再試行をトリガーしない例外タイプのリストを指定します。このタイプの処理されない例外は伝播できます。デフォルトでは、リストは空です。
@GetState
@Workflow
注釈を設定したインターフェイスのメソッドで使用した場合、このメソッドを使用してワークフロー実行の最新状態を取得することを指定します。@Workflow
注釈を設定したインターフェイスでは、この注釈を最大 1 つのメソッドに設定できます。この注釈を設定したメソッドは、パラメータを取ることができず、戻り値の型として void
以外を使用する必要があります。
@ManualActivityCompletion
この注釈をアクティビティメソッドで使用して、メソッドが戻ったときにアクティビティタスクを未完了状態にすることを指定できます。アクティビティタスクは自動的に完了しないため、Amazon SWF API を使用して直接手動で完了する必要があります。これが役立つユースケースとしては、アクティビティタスクを外部システムに委任する際に、委任先が自動化されていないか、人間が介入して完了させる必要がある場合が挙げられます。
@Signal
@Workflow
注釈を設定したインターフェイスのメソッドで使用した場合、インターフェイスで宣言したワークフロータイプの実行で受信できるシグナルを識別します。シグナルメソッドを定義するには、この注釈を使用する必要があります。
この注釈では、以下のパラメータを指定できます。
name
-
シグナル名の名前部分を指定します。指定しない場合は、メソッド名が使用されます。
@SkipRegistration
@Workflow
注釈を設定したインターフェイスで使用した場合、ワークフロータイプを Amazon SWF に登録しないことを指定します。@Workflow
で注釈を設定したインターフェイスでは、@WorkflowRegistrationOptions
と @SkipRegistrationOptions
のいずれかを使用します。両方を使用することはできません。
@Wait と @NoWait
これらの注釈は、 タイプのパラメータで使用Promise<>
して、 for Java AWS Flow Framework がメソッドを実行する前に準備状態になるまで待機する必要があるかどうかを示すことができます。デフォルトでは、@Asynchronous
メソッドに渡した Promise<>
パラメータが準備完了状態になった後で、メソッドが実行されます。特定のシナリオでは、このデフォルトの動作を上書きする必要があります。@Asynchronous
メソッドに渡され、@NoWait
注釈の Promise<>
パラメータは待機されません。
List<Promise<Int>>
などの Promise を含むコレクションパラメータ (またはサブクラス) には @Wait
注釈を設定する必要があります。デフォルトでは、フレームワークはコレクションのメンバーを待機しません。
@Workflow
この注釈をインターフェイスで使用して workflow タイプを宣言します。ワークフローのエントリポイントを宣言するには、この注釈で修飾したインターフェイスに、@Execute 注釈で修飾したメソッドを正確に 1 つ含める必要があります。
注記
インターフェイスでは、@Workflow
注釈と @Activities
注釈の両方を同時に宣言できません。この 2 つは相互に排他的です。
この注釈では、以下のパラメータを指定できます。
dataConverter
-
このワークフロータイプのワークフロー実行に対してリクエストの送信と結果の受信を行う場合、どの
DataConverter
を使用するかを指定します。デフォルトでは、
NullDataConverter
を使用します。これに伴ってJsonDataConverter
ですべてのリクエストおよびレスポンスデータが JavaScript Object Notation (JSON) として処理されます。
例
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
を指定します。このタイプのワークフロー実行で 1 つの決定タスクを完了するまでの総許容時間を指定します。defaultTaskStartToCloseTimeout
を指定しない場合は、デフォルトで 30 秒になります。ワークフローのタイムアウトの詳細については、「Amazon SWF タイムアウトの種類 」を参照してください。
defaultTaskList
-
このワークフロータイプの実行で決定タスクに使用するデフォルトのタスクリスト。ここで設定したデフォルト値は、ワークフロー実行の開始時に
StartWorkflowOptions
を使用して上書きできます。defaultTaskList
を指定しない場合は、デフォルトでUSE_WORKER_TASK_LIST
に設定されます。これは、ワークフローの登録を担当するワーカーで使用されているタスクリストを使用することを指定します。 defaultChildPolicy
-
このタイプの実行が終了した場合に、子ワークフローで使用するポリシーを指定します。デフォルト値は
ABANDON
です。指定できる値は以下のとおりです。-
ABANDON
– 子ワークフロー実行を続行できます -
TERMINATE
– 子ワークフロー実行を終了します -
REQUEST_CANCEL
– 子ワークフロー実行のキャンセルをリクエストします
-