Red Hat Training

A Red Hat training course is available for Red Hat Fuse

34.3. 使用方法

34.3.1. SWF ワークフロープロデューサーによって評価されるメッセージヘッダー

ワークフロープロデューサーを使用すると、ワークフローと対話できます。新しいワークフローの実行を開始したり、その状態をクエリーしたり、実行中のワークフローにシグナルを送信したり、ワークフローを終了してキャンセルしたりできます。

ヘッダータイプ説明

CamelSWFOperation

String

ワークフローで実行する操作。サポートされている操作は次のとおりです。
SIGNAL、CANCEL、TERMINATE、GET_STATE、START、DESCRIBE、GET_HISTORY。

CamelSWFWorkflowId

String

使用するワークフロー ID。

CamelAwsDdbKeyCamelSWFRunId

String

使用するワークフロー実行 ID。

CamelSWFStateResultType

String

ワークフロー状態が照会されたときの結果のタイプ。

CamelSWFEventName

String

使用するワークフローまたはアクティビティーイベント名。

CamelSWFVersion

String

使用するワークフローまたはアクティビティーイベントのバージョン。

CamelSWFReason

String

ワークフローを終了する理由。

CamelSWFDetails

String

ワークフローを終了するための詳細。

CamelSWFChildPolicy

String

ワークフローを終了するときに子ワークフローで使用するポリシー。

34.3.2. SWF ワークフロープロデューサーによって設定されるメッセージヘッダー

ヘッダータイプ説明

CamelSWFWorkflowId

String

使用された、または新しく生成されたワークフロー ID。

CamelAwsDdbKeyCamelSWFRunId

String

使用または生成されたワークフロー実行 ID。

34.3.3. SWF ワークフローコンシューマーによって設定されるメッセージヘッダー

ワークフローコンシューマーは、ワークフローロジックを表します。開始されると、ワークフロー決定タスクのポーリングが開始され、それらが処理されます。決定タスクの処理に加えて、ワークフローコンシューマールートはシグナル (ワークフロープロデューサーから送信) または状態クエリーも受信します。ワークフローコンシューマーの主な目的は、アクティビティープロデューサーを使用して実行するアクティビティータスクをスケジュールすることです。実際、アクティビティータスクは、ワークフローコンシューマーによって開始されたスレッドからのみスケジュールできます。

ヘッダータイプ説明

CamelSWFAction

String

現在のイベントのタイプを示します: CamelSWFActionExecute、CamelSWFSignalReceivedAction、または CamelSWFGetStateAction。

CamelSWFWorkflowReplaying

boolean

現在の決定タスクがリプレイかどうかを示します。

CamelSWFWorkflowStartTime

long

この決定タスクの開始イベントの時刻。

34.3.4. SWF アクティビティープロデューサーによって設定されるメッセージヘッダー

アクティビティープロデューサーを使用すると、アクティビティータスクをスケジュールできます。アクティビティープロデューサーは、ワークフローコンシューマーによって開始されたスレッドからのみ使用できます。つまり、ワークフローコンシューマーによって開始された同期エクスチェンジを処理できます。

ヘッダータイプ説明

CamelSWFEventName

String

スケジュールするアクティビティー名。

CamelSWFVersion

String

スケジュールするアクティビティーバージョン。

34.3.5. SWF アクティビティーコンシューマーによって設定されるメッセージヘッダー

ヘッダータイプ説明

CamelSWFTaskToken

String

手動で完了したタスクの完了を報告するために必要なタスクトークン。

34.3.6. 高度な amazonSWClient 設定

AmazonSimpleWorkflowClient インスタンス設定をさらに制御する必要がある場合は、独自のインスタンスを作成し、URI から参照できます。

#client は、レジストリー内の AmazonSimpleWorkflowClient を参照します。

たとえば、Camel アプリケーションがファイアウォールの内側で実行されている場合:

AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonSimpleWorkflowClient client = new AmazonSimpleWorkflowClient(awsCredentials, clientConfiguration);

registry.bind("client", client);