クラス MainProcessTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

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 >
導入されたバージョン:
JDK5.0,
  • フィールド詳細

  • コンストラクタの詳細

    • MainProcessTag

      public MainProcessTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • doStartTag

      public int doStartTag()
      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
      doStartTag インタフェース内 Tag
      オーバーライド:
      doStartTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応
    • doEndTag

      public int 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

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

      protected void addProcess(HybsProcess process)
      親クラスに登録するプロセスをセットします。
      パラメータ:
      process - 登録するプロセス
    • setCommand

      public void setCommand(String cmd)
      【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)。
      パラメータ:
      cmd - コマンド
      関連項目:
      説明:
      この処理は、command="NEW" の場合のみ実行されます。RENEW時にはなにも行いません。 初期値は、NEW です。
    • setUseJspLog

      public void setUseJspLog(String flag)
      【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

      public void setUseDisplay(String flag)
      【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

      public void setUseThread(String flag)
      【TAG】独立した別スレッドで実行するかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
      flag - 独立スレッド実行 [true:スレッドを使う/false:順次処理で行う]
      説明:
      MainProcess 処理を実行する場合、比較的実行時間が長いケースが考えられます。 そこで、実行時に、スレッドを生成して処理を行えば、非同期に処理を行う事が可能です。 ただし、その場合の出力については、JspWriter 等で返すことは出来ません。 起動そのものを、URL指定の http で呼び出すのであれば、返り値を無視する ことで、アプリサーバー側のスレッドで処理できます。 初期値は、false(順次処理)です。
    • setDelayTime

      public void setDelayTime(String time)
      【TAG】要求に対して、処理の実行開始を遅延させる時間を指定します(初期値:0秒)。
      パラメータ:
      time - 処理開始する遅延時間(秒)
      説明:
      プロセス起動が、同時に大量に発生した場合に、すべての処理を行うのではなく、 ある程度待って、複数の処理を1回だけで済ますことが出来る場合があります。 例えば、更新データ毎にトリガが起動されるケースなどです。 それらの開始時刻を遅らせる事で、同時発生のトリガを1回のプロセス処理で 実行すれば、処理速度が向上します。 ここでは、処理が開始されると、タイマーをスタートさせ、指定時間経過後に、 処理を開始するようにしますが、その間、受け取ったリクエストは、すべて 処理せず破棄されます。 ここでは、リクエストのタイミングと処理の開始タイミングは厳密に制御して いませんので、処理が重複する可能性があります。よって、アプリケーション側で リクエストが複数処理されても問題ないように、制限をかける必要があります。 遅延は、リクエスト引数単位に制御されます。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません