tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacob Kjome <h...@visi.com>
Subject Re: DataSource misconfigured?
Date Tue, 01 Apr 2003 14:38:32 GMT

Are you using a finally bock to close your connections?  You might be 
reaching the maximum connections allowed in the pool for DBCP.  Please 
provide an example of a query statement where you do try/catch/finally.  If 
you are not checking if your connections are not null and then making a 
last ditch attempt to close them in the finally block, then that may very 
well be the problem.

Also, your URL should have "?autoReconnect=true" appended to the "url" 
value since you are using MySQL.

Jake

At 10:29 PM 3/31/2003 -0700, you wrote:
>Hello Again Everyone! I know I have already sent out a message or three
>about this, but I need to resolve it pretty quickly.  I found a work around,
>but I would like a sanity check from those of you who really understand this
>stuff.  I included a method that I wrote to get Connections, You can see the
>old and the new along side each other.  The "manual" method allows me to
>query till the cows come home.. The "Resource" method gives me 12 DB hits on
>4.1.18 and 5 on 4.1.24 (tested on both solaris 8 and 9) before it appears to
>hang.  Oddly enough I can't pinpoint what is hanging because I have added
>log statements to this method and it appears to be working.. but
>substituting those two lines below removes the issue, so I believe it is
>returning an invalid connection or something that I don't understand.
>
>Thanks for any time spent on reading this!
>
>    /******************** Method Start ************************/
>    public static Connection getConnection () throws Exception {
>
>       Connection connection;
>       try {
>          /*********** Old Version
>          Context ctx = new InitialContext ();
>          if ( ctx == null )
>             throw new Exception ("No Context");
>          DataSource ds;
>          ds = (DataSource)ctx.lookup ("java:comp/env/jdbc/CIHDB");
>          if ( ds != null )
>               connection = ds.getConnection();
>          else {
>            return null;
>          }//end of else
>          ************ End of old version */
>          Class.forName ("com.mysql.jdbc.Driver").newInstance();
>          connection = DriverManager.getConnection (
>                       "jdbc:mysql://localhost/cih",
>                       "User","PassWord");
>       }//end of try
>       catch ( Exception e ) {
>          throw (e);
>       }//end of catch
>       return connection;
>    }//end getConnection
>
>/***** Web.xml definition
>    <resource-ref>
>       <description>
>          Resource reference to a factory for java.sql.Connection
>          instance that may be used for talking to a particular
>          database that is configured in the server.xml file
>       </description>
>       <res-ref-name>jdbc/CIHDB</res-ref-name>
>       <res-type>javax.sql.DataSource</res-type>
>       <res-auth>Container</res-auth>
>    </resource-ref>
>
>/****** server.xml
>         <Context path="/cih" docBase="cih" debug="0"
>                  reloadable="true" crossContext="true">
>
>            <Logger className="org.apache.catalina.logger.FileLogger"
>                    prefix="localhost_CIH." suffix=".txt"
>                    timestamp="true"/>
>
>            <Resource name="jdbc/CIHDB"
>                      auth="Container"
>                      type="javax.sql.DataSource"/>
>
>            <ResourceParams name="jdbc/CIHDB">
>               <parameter>
>                  <name>factory</name>
>
><value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
>               </parameter>
>               <parameter>
>                  <name>username</name>
>                  <value>User</value>
>               </parameter>
>               <parameter>
>                  <name>password</name>
>                  <value>Password</value>
>               </parameter>
>               <parameter>
>                  <name>driverClassName</name>
>                  <value>com.mysql.jdbc.Driver</value>
>               </parameter>
>               <parameter>
>                  <name>url</name>
>                  <value>jdbc:mysql://localhost/cih</value>
>               </parameter>
>               <parameter>
>                  <name>removeAdandoned</name>
>                  <value>true</value>
>               </parameter>
>               <parameter>
>                  <name>removeAdandonedTimeout</name>
>                  <value>120</value>
>               </parameter>
>               <parameter>
>                  <name>MaxActive</name>
>                  <value>50</value>
>               </parameter>
>               <parameter>
>                  <name>MaxIdle</name>
>                  <value>10</value>
>               </parameter>
>               <parameter>
>                  <name>MaxWait</name>
>                  <value>200</value>
>               </parameter>
>            </ResourceParams>
>       </Context>
>
>Steve Gums
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message