インターフェース FlowExecutionRepository
- すべての既知の実装クラス:
AbstractFlowExecutionRepository
、AbstractSnapshottingFlowExecutionRepository
、DefaultFlowExecutionRepository
public interface FlowExecutionRepository
フロー実行の保存と復元を担当する主要サブシステムインターフェース。各フロー実行は、アクティブなフロー定義の状態を表します。
フロー実行リポジトリは、Spring Web Flow システムのクライアントによって開始されたフロー実行の保存、復元、削除を管理するロールを担います。
リポジトリに配置されると、ある時点でのフローの状態を表す FlowExecution
オブジェクトは、一意の FlowExecutionKey
にインデックス付けされます。
- 作成者:
- Erwin Vervaet, Keith Donald
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明指定されたキーでインデックス付けされたFlowExecution
を返します。getLock
(FlowExecutionKey key) フロー実行のロックを返し、ロックを取得または解放できるようにします。parseFlowExecutionKey
(StringSE encodedKey) 文字列エンコードされたフロー実行キーをオブジェクト形式に解析します。void
putFlowExecution
(FlowExecution flowExecution) 提供されたキーのこのリポジトリにFlowExecution
を配置します。void
removeFlowExecution
(FlowExecution flowExecution) リポジトリからフロー実行を削除します。
メソッドの詳細
parseFlowExecutionKey
文字列エンコードされたフロー実行キーをオブジェクト形式に解析します。基本的には、FlowExecutionKey.toString()
の逆です。- パラメーター:
encodedKey
- 文字列エンコードされたキー- 戻り値:
- 解析されたフロー実行キー、正確に 1 つのフロー実行の永続的な識別子
- 例外:
FlowExecutionRepositoryException
getLock
フロー実行のロックを返し、ロックを取得または解放できるようにします。注意: デッドロック状態にならないように注意してください。ロックを取得した場合は、完了したら必ず解放してください。ロックされた会話に対して安全に作業を行うための一般的なパターンは次のとおりです。FlowExecutionLock lock = repository.getLock(key); lock.lock(); try { FlowExecution execution = repository.getFlowExecution(key); // do work } finally { lock.unlock(); }
- パラメーター:
key
- ロックするフロー実行の識別子- 戻り値:
- ロック
- 例外:
FlowExecutionRepositoryException
- ロックオブジェクトへのアクセス中に問題が発生しました
getFlowExecution
指定されたキーでインデックス付けされたFlowExecution
を返します。返されたフロー実行は、ある時点から実行中のフローの復元された状態を表します。永続的なフロー実行を再開するには、これを呼び出す必要があります。このメソッドを呼び出す前に、キー付きフロー実行のロックを取得する必要があります。- パラメーター:
key
- フロー実行キー- 戻り値:
- フローの実行、完全に水分補給され、再開の準備が整いました
- 例外:
FlowExecutionRepositoryException
- 指定されたキーでフロー実行がインデックスされていない場合
putFlowExecution
指定されたキーでこのリポジトリにFlowExecution
を配置します。これは、アクティブな (ただし一時停止中の) フロー実行の永続的な状態を保存または更新するために呼び出す必要があります。このメソッドを呼び出す前に、キー付きフロー実行のロックを取得する必要があります。- パラメーター:
flowExecution
- フロー実行- 例外:
FlowExecutionRepositoryException
- フロー実行を保存できませんでした
removeFlowExecution
リポジトリからフロー実行を削除します。これは、フロー実行が終了したとき (アクティブでなくなったとき) に呼び出される必要があります。このメソッドを呼び出す前に、キー付きフロー実行のロックを取得する必要があります。- パラメーター:
flowExecution
- フロー実行- 例外:
FlowExecutionRepositoryException
- フロー実行を削除できませんでした。