openGionopenGion
5.8.1.1

org.opengion.hayabusa.taglib
クラス ScheduleTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 javax.servlet.jsp.tagext.BodyTagSupport
          上位を拡張 org.opengion.hayabusa.taglib.CommonTagSupport
              上位を拡張 org.opengion.hayabusa.taglib.ScheduleTag
すべての実装されたインタフェース:
java.io.Serializable, BodyTag, IterationTag, JspTag, Tag, 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形式で複数指定します
       startTime          【TAG】24時間制(YYMMDD)の開始時刻を設定します(初期値:000000)
       stopTime           【TAG】24時間制(YYMMDD)の終了時刻を設定します(初期値:000000)
       scope              【TAG】キャッシュする場合のスコープ(local,request,page,session,applicaton)を指定します(初期値: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 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"
 
クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド
bodyContent
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
id, pageContext
 
インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
 
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
EVAL_BODY_AGAIN
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
コンストラクタの概要
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,applicaton)を指定します(初期値: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()
          このオブジェクトの文字列表現を返します。
 
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, 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
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド
getParent, setPageContext, setParent
 

フィールドの詳細

CMD_SET

public static final java.lang.String CMD_SET
command 引数に渡す事の出来る コマンド セット "SET"

関連項目:
定数フィールド値

CMD_VIEW

public static final java.lang.String CMD_VIEW
command 引数に渡す事の出来る コマンド ビュー "VIEW"

関連項目:
定数フィールド値

CMD_REMOVE

public static final java.lang.String CMD_REMOVE
command 引数に渡す事の出来る コマンド リムーブ "REMOVE"

関連項目:
定数フィールド値

CMD_CANCEL

public static final java.lang.String CMD_CANCEL
command 引数に渡す事の出来る コマンド キャンセル "CANCEL"

関連項目:
定数フィールド値
コンストラクタの詳細

ScheduleTag

public ScheduleTag()
メソッドの詳細

doStartTag

public int doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。

定義:
インタフェース Tag 内の doStartTag
オーバーライド:
クラス CommonTagSupport 内の doStartTag
戻り値:
後続処理の指示( EVAL_BODY_BUFFERED )
変更履歴:
3.2.2.0 (2003/05/31) HybsTimerTask に対して、設定値を渡せるように変更。

doAfterBody

public int doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。

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

doEndTag

public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

定義:
インタフェース Tag 内の doEndTag
オーバーライド:
クラス CommonTagSupport 内の doEndTag
戻り値:
後続処理の指示
変更履歴:
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。

release2

protected void release2()
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。

オーバーライド:
クラス CommonTagSupport 内の release2
変更履歴:
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(java.lang.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(java.lang.String cmd)
【TAG】コマンド(SET,VIEW,REMOVE,CANCEL)をセットします(初期値:SET)。

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

setTimerTask

public void setTimerTask(java.lang.String val)
【TAG】処理を実行するクラス名(HybsTimerTask のサブクラス)を指定します。

パラメータ:
val - クラス名
説明:
 処理を実行する HybsTimerTask のクラス名を指定します。

setName

public void setName(java.lang.String nm)
【TAG】名称(ユニークキー)を設定します。

パラメータ:
nm - タイマータスクの名称
説明:
 タイマータスクの名称(ユニークキー)を設定します。

setComment

public void setComment(java.lang.String cmt)
【TAG】タイマータスクの説明を設定します。

パラメータ:
cmt - タイマータスクの説明
説明:
 タイマータスクの説明を設定します。

setDelay

public void setDelay(java.lang.String val)
【TAG】ミリ秒単位の遅延時間を設定します(初期値:0)。

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

setPeriod

public void setPeriod(java.lang.String val)
【TAG】ミリ秒単位の繰り返し間隔を設定します(初期値:60000)。

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

setFixedDelay

public void setFixedDelay(java.lang.String flag)
【TAG】固定遅延実行を指定するかどうか[true:固定遅延実行/false:固定頻度実行]を設定します(初期値:true)。

パラメータ:
flag - [true:固定遅延実行/false:固定頻度実行]
説明:
 固定遅延実行では、前の実行の実際の実行時間を基準にしてそれぞれの実行がスケジュールされます。
 何らかの理由で実行が遅延した場合 そのあとの実行も遅延されます。
 最終的に、実行の頻度は通常、指定した期間の対応する頻度よりも若干遅くなります

 固定頻度実行では、最初の実行のスケジュールされた実行時間を基準にしてそれぞれの実行が
 スケジュールされます。何らかの理由で実行が遅延した場合、「遅れを取り戻す」ために
 2 つ以上の実行が連続して行われます。最終的に実行の頻度は、指定した期間の対応する頻度と
 同じになります
 初期値は、true:固定遅延実行 です。

setUniqKey

public void setUniqKey(java.lang.String no)
【TAG】スケジュールを一意に決めるためのユニーク番号を指定します(初期値:-1)。

パラメータ:
no - ユニーク番号
説明:
 スケジュールを削除したりする場合に、必要なユニーク番号を指定します。
 初期値は、-1:あり得ない値 です。

setSingleton

public void setSingleton(java.lang.String flag)
【TAG】Name属性が同一のタスクを2重登録出来ないよう[true/false]にします(初期値:true[出来ない])。

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

setKeys

public void setKeys(java.lang.String key)
【TAG】HybsTimerTask に渡す為のキー情報、CSV形式で複数指定します。

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

setVals

public void setVals(java.lang.String val)
【TAG】HybsTimerTask に渡す為の値を、CSV形式で複数指定します。

パラメータ:
val - 値(CSV形式)
説明:
 キーに設定した値を、カンマ区切り文字で複数して出来ます。
 指定順序は、キーと同じにしておいて下さい。
 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
変更履歴:
3.2.2.0 (2003/05/31) 新規追加
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用

setStartTime

public void setStartTime(java.lang.String st)
【TAG】24時間制(YYMMDD)の開始時刻を設定します(初期値:000000)。

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

setStopTime

public void setStopTime(java.lang.String st)
【TAG】24時間制(YYMMDD)の終了時刻を設定します(初期値:000000)。

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

setTableId

public void setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。

パラメータ:
id - sessionに登録する時の ID
説明:
 検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に
 渡す場合に、通常は、session を利用します。その場合の登録キーです。
 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、
 この tableId 属性を利用して、メモリ空間を分けます。
		(初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])。

setScope

public void setScope(java.lang.String scp)
【TAG】キャッシュする場合のスコープ(local,request,page,session,applicaton)を指定します(初期値:local)。

オーバーライド:
クラス CommonTagSupport 内の setScope
パラメータ:
scp - スコープ
関連項目:
CommonTagSupport.getScope()
説明:
 "local","request","page","session","applicaton" が指定できます。
 "local" は、過去のバージョンとの互換性を保つ為の特殊な値です。
 初期値は、"local" です。
変更履歴:
3.5.2.0 (2003/10/20) 新規作成

toString

public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

オーバーライド:
クラス CommonTagSupport 内の toString
戻り値:
このクラスの文字列表現

openGion 5.8.1.1

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.