クラス ScheduleTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.ScheduleTag
-
- すべての実装されたインタフェース:
Serializable
,javax.servlet.jsp.tagext.BodyTag
,javax.servlet.jsp.tagext.IterationTag
,javax.servlet.jsp.tagext.JspTag
,javax.servlet.jsp.tagext.Tag
,javax.servlet.jsp.tagext.TryCatchFinally
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,page,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}" />
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static String
CMD_CANCEL
command 引数に渡す事の出来る コマンド キャンセル "CANCEL"static String
CMD_REMOVE
command 引数に渡す事の出来る コマンド リムーブ "REMOVE"static String
CMD_SET
command 引数に渡す事の出来る コマンド セット "SET"static String
CMD_VIEW
command 引数に渡す事の出来る コマンド ビュー "VIEW"-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 ScheduleTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected boolean
commandExec(String command)
コマンドを実行します。int
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setCommand(String cmd)
【TAG】コマンド (SET,VIEW,REMOVE,CANCEL)をセットします(初期値:SET)。void
setComment(String cmt)
【TAG】タイマータスクの説明を設定します。void
setDelay(String val)
【TAG】ミリ秒単位の遅延時間を設定します(初期値:0)。void
setFixedDelay(String flag)
【TAG】固定遅延実行を指定するかどうか[true:固定遅延実行/false:固定頻度実行]を設定します(初期値:true)。void
setKeys(String key)
【TAG】HybsTimerTask に渡す為のキー情報、CSV形式で複数指定します。void
setName(String nm)
【TAG】名称(ユニークキー)を設定します。void
setPeriod(String val)
【TAG】ミリ秒単位の繰り返し間隔を設定します(初期値:60000)。void
setScope(String scp)
【TAG】キャッシュする場合のスコープ(local,request,page,session,application)を指定します(初期値:local)。void
setSingleton(String flag)
【TAG】Name属性が同一のタスクを2重登録出来ないよう[true:禁止/false:なにもない]にします(初期値:true:禁止)。void
setStartTime(String st)
【TAG】24時間制(YYMMDD)の開始時刻を設定します(初期値:000000)。void
setStopTime(String st)
【TAG】24時間制(YYMMDD)の終了時刻を設定します(初期値:000000)。void
setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setTimerTask(String val)
【TAG】処理を実行するクラス名(HybsTimerTask のサブクラス)を指定します。void
setUniqKey(String no)
【TAG】スケジュールを一意に決めるためのユニーク番号を指定します(初期値:-1)。void
setVals(String val)
【TAG】HybsTimerTask に渡す為の値を、CSV形式で複数指定します。String
toString()
このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck
-
クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
-
クラスから継承されたメソッド javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
-
-
-
-
メソッドの詳細
-
doStartTag
public int doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内javax.servlet.jsp.tagext.Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示( EVAL_BODY_BUFFERED )
- 変更履歴:
- 3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。
-
doAfterBody
public int doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。- 定義:
doAfterBody
インタフェース内javax.servlet.jsp.tagext.IterationTag
- オーバーライド:
doAfterBody
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示(SKIP_BODY)
- 変更履歴:
- 3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。
-
doEndTag
public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内javax.servlet.jsp.tagext.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,page,session,application)を指定します(初期値:local)。- オーバーライド:
setScope
クラス内CommonTagSupport
- パラメータ:
scp
- スコープ- 関連項目:
CommonTagSupport.getScope()
- 変更履歴:
- 3.5.2.0 (2003/10/20) 新規作成
- 説明:
- "local","request","page","session","application" が指定できます。 "local" は、過去のバージョンとの互換性を保つ為の特殊な値です。 初期値は、"local" です。
-
toString
public String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-
-