Interface ProcessStopHandler

All Superinterfaces:
Handler<Object,Object>
All Known Implementing Classes:
BasicProcessStopHandler

public interface ProcessStopHandler extends Handler<Object,Object>
処理中のプロセスを停止するためのハンドラ。

本ハンドラは、LoopHandlerProcessResidentHandlerの後続ハンドラに設定することにより、 処理中に安全にプロセスを停止することが可能となる。

なお、プロセスを停止するためにProcessStopHandler.ProcessStopを送出するため、障害通知ログが出力されプロセスは異常終了する。 異常終了する際に終了コードは、setExitCode(int)によって設定することが出来る。 終了コードの設定を省略した場合のデフォルト動作として終了コードは1となる。 また、未コミットのトランザクションは全てロールバックされることに注意すること。

※処理を異常終了するかどうかは、前段に設定されたハンドラによって決定される。

処理を停止するか否かのチェックは、リクエストテーブルにて行う。 本ハンドラが使用するリクエストテーブルの定義情報を下記に示す。

 -----------------------------+----------------------------------------------------------
 カラム名                     | 説明
 -----------------------------+----------------------------------------------------------
 リクエストID                 | プロセスを特定するためのリクエストID
 処理停止フラグ               | 処理を停止するか否かの情報
                              | 本フラグの値が'1'の場合に処理を停止する。
                              |
                              | 本フラグの値は、自動的に'0'には変更されないため再実行する際には、
                              | 手動で'0'に変更する必要がある。
 -----------------------------+----------------------------------------------------------
 
  • Method Details

    • isProcessStop

      boolean isProcessStop(String requestId)
    • setCheckInterval

      void setCheckInterval(int checkInterval)
      チェック間隔(Handler.handle(Object, nablarch.fw.ExecutionContext)が 何回呼び出されるごとに停止フラグを確認するか?)を設定する。

      Parameters:
      checkInterval - チェック間隔(0以下の値が設定された場合は1)
    • setExitCode

      void setExitCode(int exitCode)
      終了コードを設定する。

      終了コードの設定がない場合、デフォルトでInternalError.STATUS_CODEが使用される。

      Parameters:
      exitCode - 終了コード