Skip site navigation (1) Skip section navigation (2)

Re: PostgreSQL/Tomcat JNDI Datasource Questions

From: David Gagnon <dgagnon(at)siunik(dot)com>
To: Warren Killian <warrenk19(at)comcast(dot)net>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: PostgreSQL/Tomcat JNDI Datasource Questions
Date: 2005-05-13 00:57:03
Message-ID: 4283FB5F.3000001@siunik.com (view raw or flat)
Thread:
Lists: pgsql-jdbc
Hi,
 

  You are using DBCP wich is a connection pool.  The purpose of this 
framework is to avoid closing connection right (for performance matters)?

/David

Warren Killian wrote:

> Hello group,
>
> I have several questions concerning configuring and using a JNDI 
> DataSource
> with PostgreSQL and Apache Tomcat.  Currently I have
> successfully configured a "basic" DataSource.  Currently, my 
> configuration
> which resides in a context.xml file is as follows:
>
>        <Context className="org.apache.catalina.core.StandardContext"
>                 backgroundProcessorDelay="-1"
>                 cachingAllowed="true"
>                 
> charsetMapperClass="org.apache.catalina.util.CharsetMapper"
>                 
> configFile="/usr/local/jwsdp-1.3/conf/Catalina/localhost/test.xml"
>                 cookies="true"
>                 crossContext="false"
>                 debug="0"
>                 displayName="test"
>                 docBase="/usr/local/jwsdp-1.3/webapps/test"
>                 domain="Catalina"
>                 engineName="Catalina"
>                 j2EEApplication="none"
>                 j2EEServer="none"
>                 lazy="true"
>                 managerChecksFrequency="6"
>                 path="/test"
>                 privileged="false"
>                 reloadable="true"
>                 startupTime="8"
>                 swallowOutput="false"
>                 tldScanTime="0"
>                 useNaming="true"
>                 wrapperClass="org.apache.catalina.core.StandardWrapper">
>
>          <Resource name="jdbc/test" scope="Shareable"
>                           type="javax.sql.DataSource"/>
>          <ResourceParams name="jdbc/test">
>            <parameter>
>               <name>factory</name>
>               
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>            </parameter>
>            <parameter>
>              <name>driverClassName</name>
>              <value>org.postgresql.Driver</value>
>            </parameter>
>            <parameter>
>              <name>url</name>
>              <value>jdbc:postgresql://myIP/test</value>
>            </parameter>
>            <parameter>
>              <name>username</name>
>              <value>Whoopie</value>
>            </parameter>
>            <parameter>
>              <name>password</name>
>              <value>Doopie</value>
>            </parameter>
>            <parameter>
>               <name>removeAbandoned</name>
>               <value>true</value>
>            </parameter>
>            <parameter>
>               <name>removeAbandonedTimeout</name>
>               <value>20</value>
>            </parameter>
>            <parameter>
>              <name>maxWait</name>
>              <value>5000</value>
>            </parameter>
>            <parameter>
>              <name>maxActive</name>
>              <value>5</value>
>            </parameter>
>            <parameter>
>              <name>maxIdle</name>
>              <value>2</value>
>            </parameter>
>            <parameter>
>              <name>validationQuery</name>
>              <value>SELECT * FROM test</value>
>            </parameter>
>          </ResourceParams>
>        </Context>
>
> Using the above configuration, my JSP pages can connect to PostgreSQL and
> perform all required database operations.
>
> But all is not right!  I have the following issues:
>
> 1.) Connections are NEVER closed
> Say I hit my JSP page which perform a query and display the results. 
> Using netstat I can see that one connection to PostgreSQL has been
> established.  But then, if I uninstall and reinstall my web app and 
> hit my
> JSP page again, then the output of "netstat -p -t" shows that a second
> connection to PostgreSQL is established. The first connection never 
> goes away!  If I continue to
> uninstall/reinstall/hit JSP page, the connections continue to acrue and
> never go away.  The number of connections can even exceed the value of
> "maxActive" defined in my context.xml file.  What am I doing wrong?
>
> 2.) Idle connections aren't closed
> As mentioned above, the connections which are opened by my web app are
> kept around forever and never closed.  In my context.xml file above, I've
> defined the "removeAbandoned" parameter to true and have set the
> "removeAbandonedTimeout" parameter to 20 seconds.  But the connections 
> are
> never closed.  Every time I run "netstat -p -t", the connections are 
> still there. :(
>
> 3.) Is my configuration correct for performing Pooling?
> I "can" get "a" database connection using this configuration.  But is 
> this
> adequate to perform connection pooling?  How can I tell if/when 
> connection
> pooling is actually being performed correctly?
> Any help would be greatly appreciated.
>


In response to

pgsql-jdbc by date

Next:From: David GagnonDate: 2005-05-13 01:00:32
Subject: Re: PostgreSQL/Tomcat JNDI Datasource Questions
Previous:From: hiuguisDate: 2005-05-13 00:42:18
Subject: Re: JDBC INSERT Problem

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group