クラス ScheduleTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class ScheduleTag extends CommonTagSupport
アプリケーション共有のタイマー機能を用いて、繰り返しスケジュールを設定するタグです。 タイマースケジュールは、帳票デーモンや、再編成処理、定期的バッチ処理など、エンジン上の スレッドで動作するスケジュールを登録します。 スケジュールすべきクラスは、HybsTimerTask を拡張(extends)しておく必要があります。
関連項目:
機能分類
その他部品
形式サンプル:
●形式:<og:schedule timerTask="・・・" name="・・・" command="[SET|VIEW|REMOVE|CANCEL]" ・・・ /> ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:schedule command 【TAG】コマンド (SET,VIEW,REMOVE,CANCEL)をセットします(初期値:SET) timerTask ○【TAG】処理を実行するクラス名(HybsTimerTask のサブクラス)を指定します(必須)。 name ○【TAG】名称(ユニークキー)を設定します(必須)。 comment 【TAG】タイマータスクの説明を設定します singleton 【TAG】Name属性が同一のタスクを2重登録出来ないよう[true/false]にします(初期値:true[出来ない]) delay 【TAG】ミリ秒単位の遅延時間を設定します(初期値:0) period 【TAG】ミリ秒単位の繰り返し間隔を設定します(初期値:60000) fixedDelay 【TAG】固定遅延実行を指定するかどうか[true:固定遅延実行/false:固定頻度実行]を設定します(初期値:true) keys 【TAG】HybsTimerTask に渡す為のキー情報、CSV形式で複数指定します vals 【TAG】HybsTimerTask に渡す為の値を、CSV形式で複数指定します prmKeys 【TAG】HybsTimerTask に渡すパラメータのキー情報を、CSV形式で指定します(分解しない)。 prmVals 【TAG】HybsTimerTask に渡すパラメータの値を、CSV形式で指定します(分解しない)。 startTime 【TAG】24時間制(YYMMDD)の開始時刻を設定します(初期値:000000) stopTime 【TAG】24時間制(YYMMDD)の終了時刻を設定します(初期値:000000) scope 【TAG】キャッシュする場合のスコープ[local/request/session/application]を指定します (初期値:local) tableId 【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:schedule> ●使用例 帳票デーモンスケジュール登録 period は、ms単位で指定する必要があるため、1000倍しています。 <og:schedule command = "{@CMD}" scope = "request" timerTask = "org.opengion.hayabusa.report.ReportDaemon" name = "{@NAME}" comment = "Start-up By {@USER.INFO}" singleton = "true" delay = "0" period = "{@PERIOD}000" fixedDelay = "true" keys = "SYSTEM_ID,DMN_GRP" vals = "{@SYSTEM_ID},{@DMN_GRP}" />
導入されたバージョン:
JDK5.0,
  • フィールド詳細

  • コンストラクタの詳細

    • ScheduleTag

      public ScheduleTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doStartTag

      public int doStartTag()
      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
      doStartTag インタフェース内 Tag
      オーバーライド:
      doStartTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示( EVAL_BODY_BUFFERED )
      変更履歴:
      3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。
    • doAfterBody

      public int doAfterBody()
      Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
      定義:
      doAfterBody インタフェース内 IterationTag
      オーバーライド:
      doAfterBody クラス内 CommonTagSupport
      戻り値:
      後続処理の指示(SKIP_BODY)
      変更履歴:
      3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。
    • doEndTag

      public int doEndTag()
      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
      doEndTag インタフェース内 Tag
      オーバーライド:
      doEndTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 CommonTagSupport
      変更履歴:
      3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。, 3.5.2.0 (2003/10/20) 結果を DBTableModel として、scope 属性に登録する。
    • commandExec

      protected boolean commandExec(String command)
      コマンドを実行します。 コマンドは、HTMLから(SET/VIEW/REMOVE/CANCEL)指定されますので、setCommand()メソッドで 登録します。 コマンドを登録すると同時に、実行も行ないます。
      パラメータ:
      command - コマンド (public static final 宣言されている文字列)
      戻り値:
      正常かどうか(true:正常/false:異常)
      関連項目:
      変更履歴:
      3.5.2.0 (2003/10/20) viewAttribute()メソッドを、全てで実行します。, 3.6.0.8 (2004/11/19) 正常に登録できたかどうかを、返します。, 4.0.0.0 (2007/10/18) メッセージリソース統合( setMsg() ⇒ setLbl )
    • setCommand

      public void setCommand(String cmd)
      【TAG】コマンド (SET,VIEW,REMOVE,CANCEL)をセットします(初期値:SET)。
      パラメータ:
      cmd - コマンド (public static final 宣言されている文字列)
      関連項目:
      説明:
      コマンドは、HTMLから(get/post)指定されますので、CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"SET" が初期値にセットされます。
    • setTimerTask

      public void setTimerTask(String val)
      【TAG】処理を実行するクラス名(HybsTimerTask のサブクラス)を指定します。
      パラメータ:
      val - クラス名
      説明:
      処理を実行する HybsTimerTask のクラス名を指定します。
    • setName

      public void setName(String nm)
      【TAG】名称(ユニークキー)を設定します。
      パラメータ:
      nm - タイマータスクの名称
      説明:
      タイマータスクの名称(ユニークキー)を設定します。
    • setComment

      public void setComment(String cmt)
      【TAG】タイマータスクの説明を設定します。
      パラメータ:
      cmt - タイマータスクの説明
      説明:
      タイマータスクの説明を設定します。
    • setDelay

      public void setDelay(String val)
      【TAG】ミリ秒単位の遅延時間を設定します(初期値:0)。
      パラメータ:
      val - 遅延時間(ms)
      説明:
      タスクが実行される前のミリ秒単位の遅延を設定します(初期値:0)
    • setPeriod

      public void setPeriod(String val)
      【TAG】ミリ秒単位の繰り返し間隔を設定します(初期値:60000)。
      パラメータ:
      val - 繰り返し間隔(ms)
      説明:
      連続するタスク実行のミリ秒単位の時間を設定します(初期値:60000 mS)
    • setFixedDelay

      public void setFixedDelay(String flag)
      【TAG】固定遅延実行を指定するかどうか[true:固定遅延実行/false:固定頻度実行]を設定します(初期値:true)。
      パラメータ:
      flag - 遅延方式指定 [true:固定遅延実行/false:固定頻度実行]
      説明:
      固定遅延実行では、前の実行の実際の実行時間を基準にしてそれぞれの実行がスケジュールされます。 何らかの理由で実行が遅延した場合 そのあとの実行も遅延されます。 最終的に、実行の頻度は通常、指定した期間の対応する頻度よりも若干遅くなります 固定頻度実行では、最初の実行のスケジュールされた実行時間を基準にしてそれぞれの実行が スケジュールされます。何らかの理由で実行が遅延した場合、「遅れを取り戻す」ために 2 つ以上の実行が連続して行われます。最終的に実行の頻度は、指定した期間の対応する頻度と 同じになります 初期値は、true:固定遅延実行 です。
    • setUniqKey

      public void setUniqKey(String no)
      【TAG】スケジュールを一意に決めるためのユニーク番号を指定します(初期値:-1)。
      パラメータ:
      no - ユニーク番号
      説明:
      スケジュールを削除したりする場合に、必要なユニーク番号を指定します。 初期値は、-1:あり得ない値 です。
    • setSingleton

      public void setSingleton(String flag)
      【TAG】Name属性が同一のタスクを2重登録出来ないよう[true:禁止/false:なにもない]にします(初期値:true:禁止)。
      パラメータ:
      flag - 2重登録不可 [true:禁止/false:なにもない]
      説明:
      同一種類のタスクを複数同時立上げしたくない場合に、利用します。 一般に、タイマータスクそのものが、繰り返し実行されますので、 初期値は、2重登録禁止にしています。
    • setKeys

      public void setKeys(String key)
      【TAG】HybsTimerTask に渡す為のキー情報、CSV形式で複数指定します。
      パラメータ:
      key - キー情報(CSV形式)
      変更履歴:
      3.2.2.0 (2003/05/31) 新規追加, 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用, 6.2.5.1 (2015/06/12) CSV形式のkeys,vals引数(CSV引数)対応。
      説明:
      HybsTimerTask に渡す為の、キー情報をCSV形式で複数指定できます。 vals 属性には、キーに対応する値を、設定してください。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
    • setVals

      public void setVals(String val)
      【TAG】HybsTimerTask に渡す為の値を、CSV形式で複数指定します。
      パラメータ:
      val - 値(CSV形式)
      変更履歴:
      3.2.2.0 (2003/05/31) 新規追加, 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用, 6.2.5.1 (2015/06/12) CSV形式のkeys,vals引数(CSV引数)対応。
      説明:
      キーに設定した値を、CSV形式で複数して出来ます。 指定順序は、キーと同じにしておいて下さい。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
    • setStartTime

      public void setStartTime(String st)
      【TAG】24時間制(YYMMDD)の開始時刻を設定します(初期値:000000)。
      パラメータ:
      st - 開始時刻
      変更履歴:
      3.2.2.0 (2003/05/31) 新規追加
      説明:
      指定時刻範囲内での実行のみ許可するように開始時刻を設定します。 これは、タイマーで指定した間隔ごとにチェックを入れるので、チェック時間が 長い場合は、正確に開始時刻から始まるというものではありません。 初期値は、"000000" です。
    • setStopTime

      public void setStopTime(String st)
      【TAG】24時間制(YYMMDD)の終了時刻を設定します(初期値:000000)。
      パラメータ:
      st - 終了時刻
      変更履歴:
      3.2.2.0 (2003/05/31) 新規追加
      説明:
      指定時刻範囲内での実行のみ許可するように終了時刻を設定します。 これは、タイマーで指定した間隔ごとにチェックを入れるので、チェック時間が 長い場合は、正確に終了時刻で終了するというものではありません。 (終了時刻を越えてからの新規実行はありません。) 初期値は、"000000" です。
    • setTableId

      public void setTableId(String id)
      【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
      パラメータ:
      id - テーブルID (sessionに登録する時のID)
      説明:
      検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=])。
    • setScope

      public void setScope(String scp)
      【TAG】キャッシュする場合のスコープ[local/request/session/application]を指定します(初期値:local)。
      オーバーライド:
      setScope クラス内 CommonTagSupport
      パラメータ:
      scp - スコープ
      関連項目:
      変更履歴:
      3.5.2.0 (2003/10/20) 新規作成
      説明:
      "local","request","session","application" が指定できます。 "local" は、過去のバージョンとの互換性を保つ為の特殊な値です。 初期値は、"local" です。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません