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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to