アプリケーションの定義ファイル(di-config.xml)について



1) di-config.xml

WeberCreatorでアプリケーションテンプレートの生成を行うと、ソースパッケージ配下に di-config.xmlファイルが生成されます。
このファイルはWeberアプリケーションを実行する際に必要な最小限の設定値が記述されています。
開発者はシステム環境やシステム要件に応じてカスタマイズすることもできます。
Weber4.0以前にもdi-config.xmlファイルが存在していましたが、4.0では内容が刷新されており、 設定内容がより簡略化されています。
ここでは、Weber4.0のdi-config.xmlに定義されている初期設定情報の内容と設定値の変更方法について 解説したいと思います。


(1) di-config.xmlファイル

まずはWeberCreatorによって生成されたデフォルトのdi-config.xmlを見てみましょう。

<?xml version="1.0" encoding="Shift_JIS"?>
<di-config>
<bean-mappings> <bean id="InitParams" type="org.itscool.commons.collection.InitParamMap" singleton="true"> <property name="infos" collection="map"> <!-- エンコーディングの設定 --> <bean id="encoding" value="Shift_JIS"/> <!-- このアプリケーションのルートパッケージを指定してください --> <bean id="pkgName" value="sample"/> <!-- Webコンテンツの拡張子を指定してください --> <bean id="fileType" value="html"/> <!-- LayoutControllerのPAGEキャッシュを利用する場合はtrueを指定する --> <bean id="pageCache" value="true"/> <!-- PreparedStatementFactoryのSQLキャッシュを利用する場合はtrueを指定する --> <bean id="sqlCache" value="true"/> <!-- PRGパターンを適用(value値はCONTEX_PATH以下からモジュールまでのパスを指定) --> <bean id="prg_mode" value="web-contents"/> </property> </bean> <bean id="ErrorHandler" type="org.itscool.weber.controller.ErrorHandler" singleton="true"> <property name="exceptions" collection="keylist"> <!-- Exceptionが発生したときのページ遷移先 --> <bean id="java.lang.Exception" value="/exception.html"/> <!-- ユーザ認証、アクセス制限チェックでエラーが発生したときのページ遷移先 --> <bean id="org.itscool.weber.local.RoleException" value="/role_fail.html"/> <!-- 楽観的ロックによってDBへの更新に失敗したときのページ遷移先 --> <bean id="org.itscool.commons.dao.LockVersionException" value="/lock_exception.html"/> </property> </bean> <!-- HSQL DBをサーバモードで使用 --> <bean id="ConnectionManager" type="org.itscool.commons.connection.JdbcConnectionManager" singleton="true"> <property name="url" value="jdbc:hsqldb:hsql://localhost"/> <property name="user" value="sa"/> <property name="pwd" value=""/> <property name="drvname" value="org.hsqldb.jdbcDriver"/> <property name="timeout" value="300"/> <property name="initSize" value="3"/> <property name="maxSize" value="10"/> <property name="mode" value="false"/> <property name="showSql" value="true"/> </bean> <!-- ロギングユーティリティ --> <bean id="Log" type="org.itscool.commons.logging.SimpleLog" singleton="true"> <property name="level" value="debug"/> <property name="mode" value="disp"/> </bean> </bean-mappings> </di-config>

(2) InitParam要素

InitParam要素(必須)には、Weberフレームワークが使用する以下の初期値が設定されています。

  • encode
  •  リクエストパラメータの文字エンコーディングを指定します  
  • pkgName
  •  アプリケーションのルートパッケージ名を指定します。
     このパッケージを基点に、モジュール単位のパッケージが作成されます。
  • fileType
  •  コンテンツのファイルタイプで、jspもしくはhtml(xhtml)を設定します。
     WeberCreatorを使用する場合は"html"固定となります。
  • pageCache
  •  Webコンテンツのページキャッシュを有効にするかどうかを指定します
     pageCacheをtrueに設定しておくと、一度ロードされたHTMLファイルがキャッシュされ、  二回目以降のアクセスではサーバーにキャッシュされたデータをロードします。  
  • sqlCache
  •  PreparedStatementFactoryのSQLキャッシュを利用する場合はtrueを指定してください
     PreparedStatementFactoryでSQLをロードしたときに、SQLファイルの内容をサーバーに  キャッシュするかどうかを設定します。
     sqlCacheをtrueに設定しておくと、一度ロードされたSQLファイルがキャッシュされ、  二回目以降のアクセスではサーバーにキャッシュされたSQLをロードします。  
  • prg_mode
  •  PRGパターンを適用(value値はCONTEX_PATH以下からモジュールまでのパスを指定)。

    (3) ErrorHandler要素

    ErrorHandler要素には、アプリケーション実行時に発生した例外を補足し、 例外に応じたページに遷移するための設定を記述します。

  • org.itscool.commons.dao.LockVersionException
  •  楽観的ロックによるバージョン不一致が発生したときに遷移するURLを設定しています。
  • org.itscool.weber.user.RoleException
  •  認証エラーが発生したときに遷移するURLを設定しています。
  • java.lang.Exception
  •  その他一般的なエラーが発生したときに遷移するURLを設定しています。

    新しくアプリケーション例外を追加した場合も、ErrorHandler要素に設定します。

    (4) ConnectionManager

    コネクションプールの設定です。
    Weberフレームワークは、JDBCによるコネクションプールとDataSourceによるコネクションプールを使うことができます。

    デフォルトは、JDBCを使います。
    type属性でorg.itscool.commons.connection.JdbcConnectionManager(JDBC使用時)あるいは org.itscool.commons.connection.DataSourceManager(DataSource使用時) のいずれかを指定します。


    (4-1) JdbcConnectionManagerの設定値
    JDBC使用時のコネクションプールの設定値は以下のものがあります。

    (※ Webアプリケーションのクラスパスに使用するJDBCドライバのパスを通すように設定しておいてください)

  • url(必須)
  •  接続先URLを指定します。
  • user(必須)
  •  DB接続時のユーザ名を指定します。
  • pwd(必須)
  •  DB接続時のパスワードを指定します。
  • drvname(必須)
  •  使用するJDBCドライバ名を指定します。
  • timeout
  •  コネクションタイムアウトを指定します。
  • initSize
  •  コネクションプールの初期サイズを指定します。
  • maxSize
  •  コネクションプールのMAXサイズを指定します。
  • mode
  •  AutoCommitモードを有効にする場合はtrueを指定します。
  • showSql
  •  SQL実行時のログを出力する場合はtrueを指定します。

    (4-2) DataSourceManagerの設定値
    DataSource使用時のコネクションプールの設定値は以下のものがあります。

    (※ 事前にアプリケーションサーバにDataSourceを設定しておいてください)

  • dsName(必須)
  •  データソース名を指定します。
  • mode
  •  AutoCommitモードを有効にする場合はtrueを指定します。
  • showSql
  •  SQL実行時のログを出力する場合はtrueを指定します。

    (5) Log

    ログ出力を設定します
    type属性はorg.itscool.commons.logging.SimpleLog(サイズローテイト)あるいは org.itscool.commons.logging.DateLotateLog(日付ローテイト) のいずれかを指定することができます

  • maxSize
  •  1ファイルあたりの最大サイズ(byte)
  • logPath
  •  ログの出力先(フルパス、ファイル名を含む)
  • level
  •  ログの出力レベル(fatal, error, warning, info, debug)
  • mode
  •  ログの出力モード(file:ファイル出力, disp:コンソール出力, all:ファイルとコンソール出力)
  • encode
  •  ファイル出力時のエンコード
  • debugs/infos/warns/erros/fatals
  •  ログのレベル単位毎にログの出力対象クラスを指定する場合に使用します。





    Home