public class MainProcessTag extends CommonTagSupport
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 >| 修飾子とタイプ | フィールドと説明 |
|---|---|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"
|
BR, BUFFER_MIDDLE, CRbodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE| コンストラクタと説明 |
|---|
MainProcessTag()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
protected void |
addProcess(HybsProcess process)
親クラスに登録するプロセスをセットします。
|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
int |
doStartTag()
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setCommand(java.lang.String cmd)
【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)。
|
void |
setDelayTime(java.lang.String time)
【TAG】要求に対して、処理の実行開始を遅延させる時間を指定します(初期値:0秒)。
|
void |
setUseDisplay(java.lang.String flag)
【TAG】画面表示先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)。
|
void |
setUseJspLog(java.lang.String flag)
【TAG】ログ出力先に、JspWriter(つまり、HTML上の返り値)を使用するかどうか[true/false]を指定します(初期値:false)。
|
void |
setUseThread(java.lang.String flag)
【TAG】独立した別スレッドで実行するかどうか[true/false]を指定します(初期値:false)。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getCommonTagThrowable, 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, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheckdoInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParent, setPageContext, setParentpublic static final java.lang.String CMD_NEW
public MainProcessTag()
| 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doStartTag()
doStartTag インタフェース内 TagdoStartTag クラス内 CommonTagSupport| 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応 |
public int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 CommonTagSupport| 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応 |
protected void release2()
release2 クラス内 CommonTagSupportprotected void addProcess(HybsProcess process)
process - 登録するプロセスpublic void setCommand(java.lang.String cmd)
cmd - コマンドこの処理は、command="NEW" の場合のみ実行されます。RENEW時にはなにも行いません。 初期値は、NEW です。
public void setUseJspLog(java.lang.String flag)
flag - JspWriter出力 [true:行う/false:行わない]ログファイルは、processタグで、Logger を指定する場合に、パラメータ logFile にて ファイル名/System.out/System.err 形式で指定します。 この場合、JSP 特有のWriterである、JspWriter(つまり、HTML上の返り値)は指定 できません。 ここでは、特別に ログの出力先を、JspWriter に切り替えるかどうかを指示 できます。 true を指定すると、画面出力(JspWriter) に切り替わります。 初期値は、false です。
public void setUseDisplay(java.lang.String flag)
flag - JspWriter出力 [true:行う/false:行わない]画面表示は、processタグで、Logger を指定する場合に、パラメータ dispFile にて ファイル名/System.out/System.err 形式で指定します。 この場合、JSP 特有のWriterである、JspWriter(つまり、HTML上の返り値)は指定 できません。 ここでは、特別に ログの出力先を、JspWriter に切り替えるかどうかを指示 できます。 true を指定すると、画面出力(JspWriter) に切り替わります。 初期値は、false です。
public void setUseThread(java.lang.String flag)
flag - 独立スレッド実行 [true:スレッドを使う/false:順次処理で行う]MainProcess 処理を実行する場合、比較的実行時間が長いケースが考えられます。 そこで、実行時に、スレッドを生成して処理を行えば、非同期に処理を行う 事が可能です。 ただし、その場合の出力については、JspWriter 等で返すことは出来ません。 起動そのものを、URL指定の http で呼び出すのであれば、返り値を無視する ことで、アプリサーバー側のスレッドで処理できます。 初期値は、順次処理(false)です。
public void setDelayTime(java.lang.String time)
time - 処理開始する遅延時間(秒)プロセス起動が、同時に大量に発生した場合に、すべての処理を行うのではなく、 ある程度待って、複数の処理を1回だけで済ますことが出来る場合があります。 例えば、更新データ毎にトリガが起動されるケースなどです。 それらの開始時刻を遅らせる事で、同時発生のトリガを1回のプロセス処理で 実行すれば、処理速度が向上します。 ここでは、処理が開始されると、タイマーをスタートさせ、指定時間経過後に、 処理を開始するようにしますが、その間、受け取ったリクエストは、すべて 処理せず破棄されます。 ここでは、リクエストのタイミングと処理の開始タイミングは厳密に制御して いませんので、処理が重複する可能性があります。よって、アプリケーション側で リクエストが複数処理されても問題ないように、制限をかける必要があります。 遅延は、リクエスト引数単位に制御されます。
public java.lang.String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.