インターフェース FlowExecutionRepository

すべての既知の実装クラス:
AbstractFlowExecutionRepositoryAbstractSnapshottingFlowExecutionRepositoryDefaultFlowExecutionRepository

public interface FlowExecutionRepository
フロー実行の保存と復元を担当する主要サブシステムインターフェース。各フロー実行は、アクティブなフロー定義の状態を表します。

フロー実行リポジトリは、Spring Web Flow システムのクライアントによって開始されたフロー実行の保存、復元、削除を管理するロールを担います。

リポジトリに配置されると、ある時点でのフローの状態を表す FlowExecution オブジェクトは、一意の FlowExecutionKey にインデックス付けされます。

作成者:
Erwin Vervaet, Keith Donald
関連事項:
  • メソッドの詳細

    • parseFlowExecutionKey

      FlowExecutionKey parseFlowExecutionKey(StringSE encodedKey) throws FlowExecutionRepositoryException
      文字列エンコードされたフロー実行キーをオブジェクト形式に解析します。基本的には、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

      void putFlowExecution(FlowExecution flowExecution) throws FlowExecutionRepositoryException
      指定されたキーでこのリポジトリに FlowExecution を配置します。これは、アクティブな (ただし一時停止中の) フロー実行の永続的な状態を保存または更新するために呼び出す必要があります。このメソッドを呼び出す前に、キー付きフロー実行のロックを取得する必要があります。
      パラメーター:
      flowExecution - フロー実行
      例外:
      FlowExecutionRepositoryException - フロー実行を保存できませんでした
    • removeFlowExecution

      void removeFlowExecution(FlowExecution flowExecution) throws FlowExecutionRepositoryException
      リポジトリからフロー実行を削除します。これは、フロー実行が終了したとき (アクティブでなくなったとき) に呼び出される必要があります。このメソッドを呼び出す前に、キー付きフロー実行のロックを取得する必要があります。
      パラメーター:
      flowExecution - フロー実行
      例外:
      FlowExecutionRepositoryException - フロー実行を削除できませんでした。