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}" />
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
CMD_CANCEL
command 引数に渡す事の出来る コマンド キャンセル "CANCEL"
|
static java.lang.String |
CMD_REMOVE
command 引数に渡す事の出来る コマンド リムーブ "REMOVE"
|
static java.lang.String |
CMD_SET
command 引数に渡す事の出来る コマンド セット "SET"
|
static java.lang.String |
CMD_VIEW
command 引数に渡す事の出来る コマンド ビュー "VIEW"
|
BR, BUFFER_MIDDLE, CR
コンストラクタと説明 |
---|
ScheduleTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
protected boolean |
commandExec(java.lang.String command)
コマンドを実行します。
|
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド (SET,VIEW,REMOVE,CANCEL)をセットします(初期値:SET)。
|
void |
setComment(java.lang.String cmt)
【TAG】タイマータスクの説明を設定します。
|
void |
setDelay(java.lang.String val)
【TAG】ミリ秒単位の遅延時間を設定します(初期値:0)。
|
void |
setFixedDelay(java.lang.String flag)
【TAG】固定遅延実行を指定するかどうか[true:固定遅延実行/false:固定頻度実行]を設定します(初期値:true)。
|
void |
setKeys(java.lang.String key)
【TAG】HybsTimerTask に渡す為のキー情報、CSV形式で複数指定します。
|
void |
setName(java.lang.String nm)
【TAG】名称(ユニークキー)を設定します。
|
void |
setPeriod(java.lang.String val)
【TAG】ミリ秒単位の繰り返し間隔を設定します(初期値:60000)。
|
void |
setScope(java.lang.String scp)
【TAG】キャッシュする場合のスコープ(local,request,page,session,application)を指定します(初期値:local)。
|
void |
setSingleton(java.lang.String flag)
【TAG】Name属性が同一のタスクを2重登録出来ないよう[true:禁止/false:なにもない]にします(初期値:true:禁止)。
|
void |
setStartTime(java.lang.String st)
【TAG】24時間制(YYMMDD)の開始時刻を設定します(初期値:000000)。
|
void |
setStopTime(java.lang.String st)
【TAG】24時間制(YYMMDD)の終了時刻を設定します(初期値:000000)。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setTimerTask(java.lang.String val)
【TAG】処理を実行するクラス名(HybsTimerTask のサブクラス)を指定します。
|
void |
setUniqKey(java.lang.String no)
【TAG】スケジュールを一意に決めるためのユニーク番号を指定します(初期値:-1)。
|
void |
setVals(java.lang.String val)
【TAG】HybsTimerTask に渡す為の値を、CSV形式で複数指定します。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
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, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
public static final java.lang.String CMD_SET
public static final java.lang.String CMD_VIEW
public static final java.lang.String CMD_REMOVE
public static final java.lang.String CMD_CANCEL
public ScheduleTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doStartTag()
doStartTag
インタフェース内 javax.servlet.jsp.tagext.Tag
doStartTag
クラス内 CommonTagSupport
3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。 |
public int doAfterBody()
doAfterBody
インタフェース内 javax.servlet.jsp.tagext.IterationTag
doAfterBody
クラス内 CommonTagSupport
3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。 |
public int 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に置き換えます。 |
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 属性に登録する。 |
protected boolean commandExec(java.lang.String command)
command
- コマンド (public static final 宣言されている文字列)3.5.2.0 (2003/10/20) viewAttribute()メソッドを、全てで実行します。 |
3.6.0.8 (2004/11/19) 正常に登録できたかどうかを、返します。 |
4.0.0.0 (2007/10/18) メッセージリソース統合( setMsg() ⇒ setLbl ) |
public void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"SET" が初期値にセットされます。
public void setTimerTask(java.lang.String val)
val
- クラス名処理を実行する HybsTimerTask のクラス名を指定します。
public void setName(java.lang.String nm)
nm
- タイマータスクの名称タイマータスクの名称(ユニークキー)を設定します。
public void setComment(java.lang.String cmt)
cmt
- タイマータスクの説明タイマータスクの説明を設定します。
public void setDelay(java.lang.String val)
val
- 遅延時間(ms)タスクが実行される前のミリ秒単位の遅延を設定します(初期値:0)
public void setPeriod(java.lang.String val)
val
- 繰り返し間隔(ms)連続するタスク実行のミリ秒単位の時間を設定します(初期値:60000 mS)
public void setFixedDelay(java.lang.String flag)
flag
- 遅延方式指定 [true:固定遅延実行/false:固定頻度実行]固定遅延実行では、前の実行の実際の実行時間を基準にしてそれぞれの実行がスケジュールされます。 何らかの理由で実行が遅延した場合 そのあとの実行も遅延されます。 最終的に、実行の頻度は通常、指定した期間の対応する頻度よりも若干遅くなります 固定頻度実行では、最初の実行のスケジュールされた実行時間を基準にしてそれぞれの実行が スケジュールされます。何らかの理由で実行が遅延した場合、「遅れを取り戻す」ために 2 つ以上の実行が連続して行われます。最終的に実行の頻度は、指定した期間の対応する頻度と 同じになります 初期値は、true:固定遅延実行 です。
public void setUniqKey(java.lang.String no)
no
- ユニーク番号スケジュールを削除したりする場合に、必要なユニーク番号を指定します。 初期値は、-1:あり得ない値 です。
public void setSingleton(java.lang.String flag)
flag
- 2重登録不可 [true:禁止/false:なにもない]同一種類のタスクを複数同時立上げしたくない場合に、利用します。 一般に、タイマータスクそのものが、繰り返し実行されますので、 初期値は、2重登録禁止にしています。
public void setKeys(java.lang.String key)
key
- キー情報(CSV形式)HybsTimerTask に渡す為の、キー情報をCSV形式で複数指定できます。 vals 属性には、キーに対応する値を、設定してください。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
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引数)対応。 |
public void setVals(java.lang.String val)
val
- 値(CSV形式)キーに設定した値を、CSV形式で複数して出来ます。 指定順序は、キーと同じにしておいて下さい。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
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引数)対応。 |
public void setStartTime(java.lang.String st)
st
- 開始時刻指定時刻範囲内での実行のみ許可するように開始時刻を設定します。 これは、タイマーで指定した間隔ごとにチェックを入れるので、チェック時間が 長い場合は、正確に開始時刻から始まるというものではありません。 初期値は、"000000" です。
3.2.2.0 (2003/05/31) 新規追加 |
public void setStopTime(java.lang.String st)
st
- 終了時刻指定時刻範囲内での実行のみ許可するように終了時刻を設定します。 これは、タイマーで指定した間隔ごとにチェックを入れるので、チェック時間が 長い場合は、正確に終了時刻で終了するというものではありません。 (終了時刻を越えてからの新規実行はありません。) 初期値は、"000000" です。
3.2.2.0 (2003/05/31) 新規追加 |
public void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
public void setScope(java.lang.String scp)
setScope
クラス内 CommonTagSupport
scp
- スコープCommonTagSupport.getScope()
"local","request","page","session","application" が指定できます。 "local" は、過去のバージョンとの互換性を保つ為の特殊な値です。 初期値は、"local" です。
3.5.2.0 (2003/10/20) 新規作成 |
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.