質問: 現在、運用しているWebアプリケーションサーバ⇒PostgreSQL間接続でコネクションプール設定が入っているはずなのですが、 tomcat⇒postgresql間の接続時にpostgresql.logを見ると、tomcatからの接続を受けるたびに connect、disconnectionのログがありコネクションプール設定が効いていないのではと思うところがあります。 コネクションプールが有効な時、postgresql.logではtomcatから接続されるたびにconnect、disconnection のログは入ってこない事でいいでしょうか。 また、tomcatのコネクションプール設定についてわかりやすくご説明頂く事は可能でしょうか server.xmlファイルの中でどのような設定方法か server.xml以外にもコネクションプール設定があるのかなど 以上、よろしくお願い致します
回答: Tomcat7以降前提ですが、、公式サイト。および、かみくだいて説明されているサイトがありますので、まずそちらを確認されてはいかがでしょうか? * The Tomcat JDBC Connection Pool * Commons DBCPを超えるTomcat JDBC Poolとは また、Tomcat6以前であれば、コネクションプールに使用しているライブラリの追記をお願いします。 追記(Tomcat5.5.16向け) ================== JDBC Data Sources設定のようですので、tomcat標準のDBCP(`org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory`)が使われていると思います。commons-dbcpがリネームされて標準で付いているのを失念していました。すみません。5.5.16ではDBCP 1.2.1をリネームして使用しているようです。 設定については`See the DBCP documentation for a complete list of configuration parameters.`と記述されているので、DBCPの設定がそのまま使えます。 > > コネクションプールが有効な時、postgresql.logではtomcatから接続されるたびにconnect、disconnection > > のログは入ってこない事でいいでしょうか。 > > > maxActiveとmaxIdleの数に開きがあるようですので、頻繁にdisconnectionがログに出力されるようであればmaxIdleの数を増やしてみてはいかがでしょうか? 設定の詳細については参考資料を読んでみてください。 参考資料 ==== Tomcat DBCP設定及び、設定例(英語) JDBC Data Sources 4. Configure Tomcat's Resource Factory JNDI Datasource HOW-TO Commons DBCP設定項目についての説明ver1.2.2(日本語)バージョンが違うため一部設定できない項目がある可能性があります。 Commons DBCP