commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Arjen van der Weijden <Arjen.van.der.Weij...@rivm.nl>
Subject Re: help on DBCP
Date Mon, 11 Apr 2005 08:54:45 GMT
Thanks Dirk,

Your right that the code I presented is very poor but this was intentional.
Just wanted to see what was going on. I should have left out the outer loop
(around the try's) to make my point clear.
What puzzles me is that, given the inner loop, after I created only a mere
8 connections (without closing them yet)  my program seems to hang.

I don't understand I must be missing something.


cheers.


Arjen


I guess we could "speak" dutch or "vlaams" but no use to others.


                                                                                         
                                          
                      Dirk Verbeeck                                                      
                                          
                      <dirk.verbeeck@pa        To:       Jakarta Commons Users List <commons-user@jakarta.apache.org>
              
                      ndora.be>                cc:                                    
                                             
                                               Subject:  Re: help on DBCP                
                                          
                      04/09/2005 11:10                                                   
                                          
                      AM                                                                 
                                          
                      Please respond to                                                  
                                          
                      "Jakarta Commons                                                   
                                          
                      Users List"                                                        
                                          
                                                                                         
                                          
                                                                                         
                                          




It is indeed a trivial problem.
The close() methods aren't called inside your inner for loop.
So for each 3 connections created in the "for j" loop only 1 is closed.

The order of closing rset,stmt,conn is correct.

-- Dirk

Arjen van der Weijden wrote:

> Hi folks,
>
> Just started out examining DBCP, so I'm completely new to the subject.
> I adapted the example given by Dirk V. (given below). I put some stuff in
a
> for loop.
>
> The PROBLEM is that after a few loops the program seems to hang (less
than
> 10 connections).
>
> Can anybody help me on this, it must be someting trivial I guess?
>
> Configuration standard mysql installation on a redhat
>
_____________________________________________________________________________________________

> public class DataSourceExample {
>
>     public static void main(String[] args) {
>       try {
>             Class.forName("com.mysql.jdbc.Driver").newInstance();
>         }
>       catch (Exception ex) {
>             ex.printStackTrace();
>         }
>
>         DataSource dataSource =
>
setupDataSource("jdbc:mysql://localhost/mysql?user=mysql&password=pizza");
>
>         Connection conn = null;
>         Statement stmt = null;
>         ResultSet rset = null;
>
>         for (int ii = 0; ii < 3; ii++) {
>         try {
>             for (int j = 0; j < 3; j++) {
>             conn = dataSource.getConnection();
>             stmt = conn.createStatement();
>             String $query = "SELECT * FROM user";
>             rset = stmt.executeQuery($query);
>             System.out.println("Results:");
>             int numcols = rset.getMetaData().getColumnCount();
>             while(rset.next()) {
>                 for(int i=1;i<=numcols;i++) {
>                     System.out.print("\t" + rset.getString(i));
>                 }
>                 System.out.println("");
>             }
>             }
>         } catch(SQLException e) {
>             e.printStackTrace();
>         } finally {
>             try { rset.close(); } catch(Exception e) { }
>             try { stmt.close(); } catch(Exception e) { }
>             try { conn.close(); } catch(Exception e) { }
>         }
>         }
>     }
>
>     public static DataSource setupDataSource(String connectURI) {
>             ConnectionFactory connectionFactory = new
> DriverManagerConnectionFactory(connectURI,null);
>             PoolableConnectionFactory poolableConnectionFactory = new \
>
>
PoolableConnectionFactory(connectionFactory,connectionPool,null,null,false,true);

>             PoolingDataSource dataSource = new
> PoolingDataSource(connectionPool);
>             return dataSource;
>     }
> }




---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message