パッケージ org.opengion.hayabusa.common

## クラス SystemInstaller

- java.lang.Object
- - org.opengion.hayabusa.common.SystemInstaller

-     public final class SystemInstaller
      extends java.lang.Object

  システムの自動インストールと自動更新を行います。 (1)初期インストール・自動更新(#autoInsUpd) ①初期自動インストールを行うには、起動時の環境変数にINSTALL_CONTEXTSが 設定されている必要があります。 この環境変数が設定されている場合、システムリソーステーブル(GE12)が存在しなければ、 エンジンがインストールされていないと判断し、自動インストールを行います。 INSTALL_CONTEXTSにge,gfが指定されている場合は、開発環境を含めたフルバージョンが インストールされます。 geのみが指定されている場合は、コアモジュールであるgeのみがインストールされます。 インストールスクリプトは、 webapps/[CONTEXT]/db/[DBNAME]/xml/install DBID=DEFAULT webapps/[CONTEXT]/db/[DBNAME]/xml/update DBID=DEFAULT 以下にあるXMLファイルが全て実行されます。 また、同時に webapps/[CONTEXT]/db/common/xml/install DBID=DEFAULT webapps/[CONTEXT]/db/common/xml/update DBID=DEFAULT webapps/[CONTEXT]/db/resource/xml/install DBID=RESOURCE (5.6.7.0 (2013/07/27) 追加) webapps/[CONTEXT]/db/resource/xml/update DBID=RESOURCE (5.6.7.0 (2013/07/27) 追加) 以下にあるデータロードスクリプトも全て実行されます。 ②自動更新については、システムリソーステーブル(GE12)の更新と、各システムの更新の2つがあります。 GE12更新の判断基準は、システムID='**'に格納されているバージョン(同一のGE12を使用し ているシステムの最大バージョン番号)がアップした場合です。 この場合に、エンジン内部で保持しているXMLファイルよりシステムリソースの再ロードを行います。 各システムの更新の判断基準は、システムID=各システムのバージョン番号がアップされた場合です。 更新スクリプトは、 webapps/[CONTEXT]/db/[DBNAME]/xml/update DBID=DEFAULT 以下にあるXMLファイルが全て実行されます。 また、同時に webapps/[CONTEXT]/db/common/xml/update DBID=DEFAULT webapps/[CONTEXT]/db/resource/xml/update DBID=RESOURCE (5.6.7.0 (2013/07/27) 追加) 以下にあるデータロードスクリプトも全て実行されます。 (2)インストール(#install) 自動インストールは、通常は画面からコンテキストのアーカイブを指定して行います。 アーカイブの内容としては、アーカイブの直下がコンテキスト名のフォルダとなっている必要があります。 このコンテキストフォルダをwebapps以下に展開します。 また、Tomcatのコンテキストの設定ファイル、([CONTEXT].xml)が"WEB-INFの直下を配置している必要があります。 このインストールでは、Tomcatに対するコンテキスト定義のXMLファイルの配備及び、 各種DB、データのロードを行います。 インストールスクリプトは、 webapps/[CONTEXT]/db/[DBNAME]/xml/install DBID=DEFAULT 以下にあるXMLファイルが全て実行されます。 また、同時に webapps/[CONTEXT]/db/common/xml/install DBID=DEFAULT webapps/[CONTEXT]/db/resource/xml/install DBID=RESOURCE (5.6.7.0 (2013/07/27) 追加) 以下にあるデータロードスクリプトも全て実行されます。
  機能分類
    初期化
  変更履歴:
    4.3.6.6 (2009/05/15) 新規作成, 7.0.2.3 (2019/04/01) xmlﾌｧｲﾙのﾀｲﾑｽﾀﾝﾌﾟによる更新制御を入れます。(保留)
  バージョン
    4.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールド | 説明
    --- | --- | ---
    `static java.lang.String` | `GE12_XML` | エンジン共通パラメータ(SYSTEM_ID='**' KBSAKU='0')のXML ファイルの指定 "org/opengion/hayabusa/common/GE12.xml"
    `static java.lang.String` | `SEL_MAX_ENG` | エンジン共通パラメータ(SYSTEM_ID='**' KBSAKU='0')のENGINE_INFO 読み取りクエリー "select PARAM from GE12 where SYSTEM_ID=\'**\' and PARAM_ID=\'ENGINE_INFO\' and KBSAKU=\'0\' and FGJ=\'1\'"
    `static java.lang.String` | `SEL_SYS_ENG` | エンジン個別(SYSTEM_ID='個別' KBSAKU='0' CONTXT_PATH='自身')のバージョン情報を取得するクエリー "select PARAM from GE12 where SYSTEM_ID=? and CONTXT_PATH=? and PARAM_ID=\'ENGINE_INFO\' and KBSAKU=\'0\' and FGJ=\'1\'" 4.3.6.6 (2009/05/15)

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `SystemInstaller​(java.sql.Connection defConn, java.sql.Connection rscConn, java.io.PrintWriter out)` | システムインストール・更新クラスのコンストラクタです なお、このクラスの中の処理で、エラーが発生しても、Connection は、close 等しません。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `autoInsUpd​(java.lang.String systemId, java.lang.String context, java.lang.String hostUrl)` | システムの初期自動インストール・自動更新を行います。
    `void` | `install​(java.io.File buildArchive)` | システムの自動インストールを行います。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### GE12_XML

          public static final java.lang.String GE12_XML

      エンジン共通パラメータ(SYSTEM_ID='**' KBSAKU='0')のXML ファイルの指定 "org/opengion/hayabusa/common/GE12.xml"
      関連項目:
        定数フィールド値

    - #### SEL_MAX_ENG

          public static final java.lang.String SEL_MAX_ENG

      エンジン共通パラメータ(SYSTEM_ID='**' KBSAKU='0')のENGINE_INFO 読み取りクエリー "select PARAM from GE12 where SYSTEM_ID=\'**\' and PARAM_ID=\'ENGINE_INFO\' and KBSAKU=\'0\' and FGJ=\'1\'"
      関連項目:
        定数フィールド値

    - #### SEL_SYS_ENG

          public static final java.lang.String SEL_SYS_ENG

      エンジン個別(SYSTEM_ID='個別' KBSAKU='0' CONTXT_PATH='自身')のバージョン情報を取得するクエリー "select PARAM from GE12 where SYSTEM_ID=? and CONTXT_PATH=? and PARAM_ID=\'ENGINE_INFO\' and KBSAKU=\'0\' and FGJ=\'1\'" 4.3.6.6 (2009/05/15)
      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### SystemInstaller

          public SystemInstaller​(java.sql.Connection defConn,
                                 java.sql.Connection rscConn,
                                 java.io.PrintWriter out)

      システムインストール・更新クラスのコンストラクタです なお、このクラスの中の処理で、エラーが発生しても、Connection は、close 等しません。 呼び出し元で、try ～ finally で、処理してください。
      パラメータ:
        `defConn` - アプリケーション登録用コネクション
        `rscConn` - リソース登録用コネクション
        `out` - 表示用のWriter
      変更履歴:
        5.5.4.4 (2012/07/20) VERSIONは、直接 BuildNumber.ENGINE_INFO を使用。, 5.6.7.0 (2013/07/27) アプリケーション登録用とリソース登録用のコネクションを分ける, 5.9.24.1 (2017/09/08) DB名を出力する

  - ### メソッドの詳細

    - #### autoInsUpd

          public void autoInsUpd​(java.lang.String systemId,
                                 java.lang.String context,
                                 java.lang.String hostUrl)
                          throws java.io.UnsupportedEncodingException

      システムの初期自動インストール・自動更新を行います。 詳細は、クラスドキュメントを参照して下さい。
      パラメータ:
        `systemId` - システムID
        `context` - コンテキスト名
        `hostUrl` - ホスト文字列
      例外:
        `java.io.UnsupportedEncodingException` - エンコード名 "UTF-8" が存在しなかった場合。
      関連項目:
        `dbXMLResourceInsert()`
      変更履歴:
        5.1.9.0 (2010/08/01) 新規作成, 5.5.4.4 (2012/07/20) VERSIONは、直接 BuildNumber.ENGINE_INFO を使用。, 7.0.1.4 (2018/11/26) 初期自動インストール(oldMaxVersion == "none")時でも、loadXMLScript(Update)とdbXMLResourceInsert は行う

    - #### install

          public void install​(java.io.File buildArchive)

      システムの自動インストールを行います。 詳細は、クラスドキュメントを参照して下さい。
      パラメータ:
        `buildArchive` - コンテキストのアーカイブファイル
      変更履歴:
        5.1.9.0 (2010/08/01) 新規作成, 5.5.4.4 (2012/07/20) FS , APP_BASE を、共通に設定, 6.0.0.0 (2014/04/11) ZIP API変更, 7.2.3.1 (2020/04/17) System.getenv → HybsConst.getenv 変更(サービス化対応)