概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.8.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.common
クラス InitFileLoader

    java.lang.Object
      org.opengion.hayabusa.common.InitFileLoader

    public final class InitFileLoader

extends Object

ORACLE XDK 形式のXMLファイルを読み取って、データベースに登録します。 起動(実行)は、コンテキスト読み取り時の初回のみです。GE12パラメータを変更した 場合は、コンテキストのリロードが必要です。 登録の実行有無の判断は、ファイルの更新時刻より判断します。(useTimeStamp=true の場合) これは、読み取りファイルの更新時刻が、０でない場合、読み取りを行います。 読み取りが完了した場合は、更新時刻を ０ に設定します。 読み取るファイルは、クラスローダーのリソースとして取得されますので、クラスパスが 設定されている必要があります。また、ファイルは、拡張子が xml で、UTF-8でエンコード されている必要があります。通常は、ファイル名がテーブル名と同一にしておく必要が ありますが、ROWSETのtable属性にテーブル名をセットしておくことも可能です。 ファイルの登録順は、原則、クラスローダーの検索順に、見つかった全てのファイルを 登録します。データそのものは、INSERT のみ対応していますので、原則登録順は無視されます。 ただし、拡張XDK 形式で、EXEC_SQL タグを使用した場合は、登録順が影響する可能性があります。 例：GE12.xml GE12 テーブルに登録するXMLファイル 登録時に、既存のデータの破棄が必要な場合は、拡張XDK 形式のXMLファイルを 作成してください。これは、EXEC_SQL タグに書き込んだSQL文を実行します。 詳細は、`HybsXMLHandler` クラスを参照してください。 <ROWSET tableName="XX" > <EXEC_SQL> 最初に記載して、初期処理(データクリア等)を実行させる。 delete from GEXX where YYYYY </EXEC_SQL> <ROW num="1"> <カラム1>値1</カラム1> ･･･ <カラムn>値n</カラムn> </ROW> ･･･ <ROW num="n"> ･･･ </ROW> <EXEC_SQL> 最後に記載して、項目の設定(整合性登録)を行う。 update GEXX set AA='XX' , BB='XX' where YYYYY </EXEC_SQL> <ROWSET>

変更履歴:

  4.0.0.0 (2004/12/31) 新規作成

機能分類
  初期化
バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

コンストラクタの概要
`InitFileLoader(Connection conn)` コネクションを引数にする、コンストラクターです。
`InitFileLoader(Connection conn, String classPath)` コネクションと検索パスを指定して構築する、コンストラクターです。

メソッドの概要
`void` | `loadInitFiles(boolean useTimeStamp)` 対象となるファイル群を検索します。
`void` | `setFileCommit(boolean fileCmt)` ファイル毎にコミット処理を行うかどうか指定します(初期値:false[行わない])。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### InitFileLoader

    public InitFileLoader(Connection conn)

  コネクションを引数にする、コンストラクターです。 classPath="resource" で初期化された InitFileLoader を作成します。

  パラメータ:
    `conn` - 登録用コネクション

### InitFileLoader

    public InitFileLoader(Connection conn,
                          String classPath)

  コネクションと検索パスを指定して構築する、コンストラクターです。 対象ファイルは、classPath で指定された場所を、クラスローダーで検索します。 ここで見つかったパス以下の XMLファイル(拡張子は小文字で、.xml )を検索 します。このファイル名は テーブル名.xml 形式で格納しておきます。

  パラメータ:
    `conn` - 登録用コネクション
    `classPath` - 対象となるファイル群を検索する、クラスパス

メソッドの詳細

### setFileCommit

    public void setFileCommit(boolean fileCmt)

  ファイル毎にコミット処理を行うかどうか指定します(初期値:false[行わない])。 対象ファイル毎に、データベースへの登録を完了(commit)するかどうかを指定します。 通常、Connection は、autoCommit を false に設定し、１件ごとの処理は行いません。 さらに、XMLファイルにも相互関連がある場合があるため、複数ファイルを取り込む場合は、 それらを一群として処理したいケースもあります。また、各ファイルが独立している 場合は、他のファイル取り込み時にエラーが発生しても、それまでの分は、取り込みたい ケースがあります。 ここでは、ファイル毎にコミットを発行するかどうかを指定できます。 初期値は、false[行わない]です。 ※ true に設定した場合でも、途中でエラーが発生した場合は、それ以降の処理は、 継続しません。それ以前の処理が、登録されているだけです。

  パラメータ:
    `fileCmt` - ファイル毎にコミット処理を行うかどうか [true:行う/false:行わない]

### loadInitFiles

    public void loadInitFiles(boolean useTimeStamp)

  対象となるファイル群を検索します。 対象ファイルは、resource フォルダに テーブル名.xml 形式で格納しておきます。 このフォルダのファイルをピックアップします。 useTimeStamp 属性を true に設定すると、このファイルのタイムスタンプを、 システムパラメータ定義(GE12) にセットします。それ以降、このタイムスタンプと ファイルを比較して、変更がなければ、登録処理を行いません。

  パラメータ:
    `useTimeStamp` - タイムスタンプの管理を行うかどうか[true:行う/false:行わない]
  変更履歴:

    4.0.0.0 (2007/11/28) メソッドの戻り値をチェックします。
    5.3.6.0 (2011/06/01) 実フォルダの場合、フォルダ階層を下る処理を追加
    5.5.2.6 (2012/05/25) JarFile を、Closer#zipClose( ZipFile ) メソッドを利用して、close します。
    5.6.6.1 (2013/07/12) jarファイルの場合も、タイムスタンプ管理の対象とします。

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.8.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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