クラス MainProcessTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.MainProcessTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
HybsProcess を継承した、ParamProcess,FirstProcess,ChainProcess の実装クラスを
実行する MainProcess を起動するクラスです。
LoggerProcess は、最初に定義するクラスで、画面ログ、ファイルログ、を定義します。
また、エラー発生時に、指定のメールアドレスにメール送信できます。
Process_Logger は、なくても構いませんが、指定する場合は、最も最初に指定しなければ
なりません。
ParamProcess は、一つだけ定義できるクラスで、データベース接続情報を定義します。
(データベース接続しなければ)なくても構いません。
FirstProcess は、処理を実行する最初のクラスで、このクラスでデータが作成されます。
ループ処理は、この FirstProcess で順次作成された LineModel オブジェクトを
1行づつ下位の ChainProcess に流していきます。
ChainProcess は、FirstProcess で作成されたデータを、受け取り、処理します。
処理対象から外れる場合は、LineModel を null に設定する為、下流には流れません。
フィルタチェインの様に使用します。なくても構いませんし、複数存在しても構いません。
- 関連項目:
- 機能分類
- 画面表示
- 形式サンプル:
- ●形式:<og:mainProcess useJspLog ="[true/false]" useDisplay="[true/false]" > <og:process processID="ZZZ" > <og:param key="AAA" value="111" /> </og:process > </og:mainProcess > ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:mainProcess command 【TAG】(通常は使いません)処理の実行を指定する command を設定できます (初期値:NEW) useJspLog 【TAG】ログ出力先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します (初期値:false) useDisplay 【TAG】画面表示先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します (初期値:false) useThread 【TAG】独立した別スレッドで実行するかどうか[true/false]を指定します (初期値:false) delayTime 【TAG】要求に対して、処理の実行開始を遅延させる時間を指定します (初期値:0秒) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します (初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します (初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます (初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます (初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます (初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します (初期値:false) > ... Body ... </og:mainProcess> ●使用例 <og:mainProcess useJspLog="true" > <og:process processID="DBReader" > <og:param key="dbid" value="FROM" /> <og:param key="sql" value="select * from GE02" /> </og:process > <og:process processID="DBWriter" > <og:param key="dbid" value="TO" /> <og:param key="table" value="GE02" /> </og:process > </og:mainProcess >
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールドクラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected void
addProcess
(HybsProcess process) 親クラスに登録するプロセスをセットします。int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setCommand
(String cmd) 【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)。void
setDelayTime
(String time) 【TAG】要求に対して、処理の実行開始を遅延させる時間を指定します(初期値:0秒)。void
setUseDisplay
(String flag) 【TAG】画面表示先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)。void
setUseJspLog
(String flag) 【TAG】ログ出力先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)。void
setUseThread
(String flag) 【TAG】独立した別スレッドで実行するかどうか[true/false]を指定します(初期値:false)。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, 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, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useStrict, useTag, useXssCheck
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.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
インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
フィールド詳細
-
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"- 関連項目:
-
-
コンストラクタの詳細
-
MainProcessTag
public MainProcessTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doStartTag
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 8.1.0.3 (2022/01/21) スレッドに名前を付けておきます。
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
-
addProcess
親クラスに登録するプロセスをセットします。- パラメータ:
process
- 登録するプロセス
-
setCommand
【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)。- パラメータ:
cmd
- コマンド- 関連項目:
- 説明:
- この処理は、command="NEW" の場合のみ実行されます。RENEW時にはなにも行いません。 初期値は、NEW です。
-
setUseJspLog
【TAG】ログ出力先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- JspWriter出力 [true:行う/false:行わない]- 説明:
- ログファイルは、processタグで、Logger を指定する場合に、パラメータ logFile にて ファイル名/System.out/System.err 形式で指定します。 この場合、JSP 特有のWriterである、JspWriter(つまり、HTML上の返り値)は指定できません。 ここでは、特別に ログの出力先を、JspWriter に切り替えるかどうかを指示できます。 true を指定すると、画面出力(JspWriter) に切り替わります。 初期値は、false(JspWriter使用しない)です。
-
setUseDisplay
【TAG】画面表示先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- JspWriter出力 [true:行う/false:行わない]- 説明:
- 画面表示は、processタグで、Logger を指定する場合に、パラメータ dispFile にて ファイル名/System.out/System.err 形式で指定します。 この場合、JSP 特有のWriterである、JspWriter(つまり、HTML上の返り値)は指定できません。 ここでは、特別にログの出力先を、JspWriter に切り替えるかどうかを指示できます。 true を指定すると、画面出力(JspWriter) に切り替わります。 初期値は、false(JspWriter使用しない)です。
-
setUseThread
【TAG】独立した別スレッドで実行するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- 独立スレッド実行 [true:スレッドを使う/false:順次処理で行う]- 説明:
- MainProcess 処理を実行する場合、比較的実行時間が長いケースが考えられます。 そこで、実行時に、スレッドを生成して処理を行えば、非同期に処理を行う事が可能です。 ただし、その場合の出力については、JspWriter 等で返すことは出来ません。 起動そのものを、URL指定の http で呼び出すのであれば、返り値を無視する ことで、アプリサーバー側のスレッドで処理できます。 初期値は、false(順次処理)です。
-
setDelayTime
【TAG】要求に対して、処理の実行開始を遅延させる時間を指定します(初期値:0秒)。- パラメータ:
time
- 処理開始する遅延時間(秒)- 説明:
- プロセス起動が、同時に大量に発生した場合に、すべての処理を行うのではなく、 ある程度待って、複数の処理を1回だけで済ますことが出来る場合があります。 例えば、更新データ毎にトリガが起動されるケースなどです。 それらの開始時刻を遅らせる事で、同時発生のトリガを1回のプロセス処理で 実行すれば、処理速度が向上します。 ここでは、処理が開始されると、タイマーをスタートさせ、指定時間経過後に、 処理を開始するようにしますが、その間、受け取ったリクエストは、すべて 処理せず破棄されます。 ここでは、リクエストのタイミングと処理の開始タイミングは厳密に制御して いませんので、処理が重複する可能性があります。よって、アプリケーション側で リクエストが複数処理されても問題ないように、制限をかける必要があります。 遅延は、リクエスト引数単位に制御されます。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-