インターフェース FlowExecutionExceptionHandler

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

public interface FlowExecutionExceptionHandler
アクティブなフロー実行中に実行時に発生する例外を処理するための戦略。注: カスタムフロー実行例外ハンドラーを実装する場合は、特別な注意が必要です。例外ハンドラーは、例外が発生したときにフロー制御を指示するという点で遷移に似ています。例外ハンドラーは、動作を実行してフロー制御を駆動する結果を返すことしかできないアクションよりも複雑です。このため、正しく実装されていない場合、FlowExecutionHandler はフロー実行を無効な状態のままにしておく可能性があり、フロー実行が使用できなくなったり、将来の使用が未定義になったりする可能性があります。例: フローセッションの起動時にスローされた例外が例外ハンドラーにルーティングされた場合、ハンドラーはフロー実行が一貫した状態で呼び出し元に制御を返すようにする必要があります。具体的には、例外ハンドラーはフローを開始状態に遷移させる必要があります。ハンドラーは、現在の状態が設定されていないフローをそのまま残して戻るべきではありません。注: フロー実行ハンドラーは正しく実装するのが難しいため、Web フローアクションコードで例外をキャッチし、標準遷移を駆動する結果イベントを返すことを検討してください。または、例外ハンドラーを実装する適切な方法を示す既存の TransitionExecutingFlowExecutionExceptionHandler の使用を検討してください。
作成者:
Keith Donald
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    このハンドラーは指定された例外を処理できますか ?
    void
    現在のリクエストのコンテキストで例外を処理します。
  • メソッドの詳細

    • canHandle

      boolean canHandle(FlowExecutionException exception)
      このハンドラーは指定された例外を処理できますか ?
      パラメーター:
      exception - 発生した例外
      戻り値
      はいの場合は true、いいえの場合は false
    • handle

      void handle(FlowExecutionException exception, RequestControlContext context)
      現在のリクエストのコンテキストで例外を処理します。実装では、フローを RequestControlContext.execute(Transition) を使用して状態に移行することが期待されます。
      パラメーター:
      exception - 発生した例外
      context - このリクエストの実行制御コンテキスト