!!!Tomcat 5.5 JNDI Datasource の利用
[Tomcat]
http://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html
!!Database Connection Pool(DBCP) の設定
http://jakarta.apache.org/commons/dbcp/configuration.html
!インストール
DBCPは、Jakarta-Commonsのコンポーネントに依存している。
*Jakarta-Commons DBCP
*Jakarta-Commons Collections
*Jakarta-Commons Pool
これらのライブラリは、ひとつのJARファイルとして、$CATALINA_HOME/common/lib/naming-factory-dbcp.jar に置かれている。
!DBコネクションのリークを防ぐ
データベースコネクションプールは、データベースの接続を生成し、これを(新規作成するより効率がよいことから)再利用します。
これには、ひとつ問題があります。Webアプリケーションは、明示的にResultSetや、Stetement、Connectionを閉じる必要があります。Webアプリケーションがこれらを閉じるのに失敗すると、これらは再利用されなくなってしまいます。この状態がコネクションプールの"リーク"です。有効な接続を使い切ってしまうかもしれません。
DBCPでは、このように不正に終了したコネクションを追跡し、復帰させることができます。
不正終了したコネクションを取り除き再利用するには、以下の属性をDBCP DataSourceの設定に追加します。
removeAbandoned="true"
デフォルト値はfalseです
以下の設定をすることで、以下の秒数アイドル状態のコネクションを不正終了したとみなすことができます。
removeAbandonedTimeout="60"
デフォルト値は300秒です。
以下の設定を行うことで、スタックトレースログをとることができます。
logAbandoned="true"
デフォルト値はfalseです。
!!Oracle 8i、9i、10g
!はじめに
*以前のバージョンのOracleでは、*.zipとしてドライバが提供されていたが、Tomcatで利用できるのは、*.jarのみ。
*$CATALINA_HOME/common/lib にインストールする。
* *.zip は *.jarにリネームする
!Server.xmlの設定
JNDI DataSource を $CATALINA_HOME/conf/server.xml に記述する。
ContextタグをHostタグの中に記述