Mutex - Mutexロック

指定されたIDに対してロックを作成し、ロックが解除されるまで他のスレッド(フロー)のそのIDへのロックをブロックします。
ロックの期間はアンロックが実行された時、またはフローの終了までとなり、フローをまたがるロックは生成できません。
ロックが解除された時に複数のスレッドが、そのIDに対して待機状態であった場合、次にロックを獲得するスレッドは最初にロックを取得したスレッドとなります。

■ストリーム情報

入力フォーマットすべて
接続数1
説明すべてのストリームを入力できます。
出力フォーマットすべて
説明 入力ストリームをそのまま出力します。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
IDstring入力&出力 生成するロックのIDです。
IDが指定されない場合はフロー名(オーナー名 + プロジェクト名 + フロー名)がIDとなります。
ロックされていたらエラーにするboolean- ロックが既にされている場合、エラーを発生させるかどうかを選択します。
はい [true] - エラーを発生します。
いいえ [false] - エラーを発生しません。
タイムアウト(秒)int- ロック獲得までに待機する時間を秒単位で指定します。
指定時間を経過してもロックが獲得できなかった場合はエラーとなります。
0を指定した場合はタイムアウトは発生しません。
ロック処理choice- 動作を指定します。
ロック [Lock] - ロックします。
アンロック [UnLock] - ロックを解除します。他のスレッドのかけたロックを強制的に解除することもできるので使い方には注意が必要です。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
汎用 なし コンポーネントの入力ストリーム なし ロックを獲得できずにタイムアウトした場合
なし ロックされていたらエラーにする が「はい」で、既にロックがされている場合

■フローの強制終了

フローを強制終了すると、通常は実行中のコンポーネントの処理が終了してから次のコンポーネントに制御が遷移する時点でフローがアボートしますが、本コンポーネントでは実行中の処理を強制的に終了してフローがアボートします。強制終了された場合、トランザクションをロールバックします。