指定されたIDに対してロックを作成し、ロックが解除されるまで他のスレッド(フロー)のそのIDへのロックをブロックします。
ロックの期間はアンロックが実行された時、またはフローの終了までとなり、フローをまたがるロックは生成できません。
ロックが解除された時に複数のスレッドが、そのIDに対して待機状態であった場合、次にロックを獲得するスレッドは最初にロックを取得したスレッドとなります。
入力 | フォーマット | すべて |
---|---|---|
接続数 | 1 | |
説明 | すべてのストリームを入力できます。 | |
出力 | フォーマット | すべて |
説明 | 入力ストリームをそのまま出力します。 |
名前 | プロパティ型 | マッピング | 説明 | ||||||
---|---|---|---|---|---|---|---|---|---|
ID | string | 入力&出力 |
生成するロックのIDです。 IDが指定されない場合はフロー名(オーナー名 + プロジェクト名 + フロー名)がIDとなります。 |
||||||
ロックされていたらエラーにする | boolean | - |
ロックが既にされている場合、エラーを発生させるかどうかを選択します。
|
||||||
タイムアウト(秒) | int | - |
ロック獲得までに待機する時間を秒単位で指定します。 指定時間を経過してもロックが獲得できなかった場合はエラーとなります。 0を指定した場合はタイムアウトは発生しません。 |
||||||
ロック処理 | choice | - |
動作を指定します。
|
コミット | 何もしません。 |
---|---|
ロールバック | 何もしません。 |
タイプ | パラメーター | エラー処理フロー へのストリーム | エラー コード | 説明 |
---|---|---|---|---|
汎用 | なし | コンポーネントの入力ストリーム | なし | ロックを獲得できずにタイムアウトした場合 |
なし | ロックされていたらエラーにする が「はい」で、既にロックがされている場合 |
フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。強制終了された場合、トランザクションをロールバックします。