tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Cook <bc...@printtime.com>
Subject Re: Tracking Datasource Connection Usage?
Date Fri, 07 Oct 2005 20:37:47 GMT
JWM wrote:

Two things you can do here.

    1. Set both "removeAbandoned" and "logAbandoned"  parameters to 
true.  This will reclaim most lost connections.  And log a trace of what 
code called a connection that was never closed.

     2.  Use a finally block to close all of your Resultsets and 
connections.  This will insure they are closed even if your code throws 
an exception.

Example :

    ResultSet rs = null;
    Connection con  = null;
try {
    ........
    ........
    ........
    ........
}
catch(Exception e) {
    ........
}
finally {
    rs.close();
    con.close();
}

>I started getting exceptions saying no connections were available on my JDBC
>datasource  (org.gjt.mm.mysql.Driver).  The pool was definitely large enough
>to handle the load.  So it appears that I'm not freeing the all the
>connections as I should.  I noticed that I did not have the
>'removeAbandoned' flag set on the Resource tag.  Changing that has
>apparently fixed the out of connections problem.  But I really want to clean
>up the code and fix it the right way.  I've got the close() statements in
>place.  But obviously, I'm missing some of them somewhere.  Is there any
>process for logging/tracking allocating and freeing connections (and absence
>thereof.), available connections, etc?  Or are there any methods I can call
>to give me this type of debug info?  What's the recommended way to debug
>this?
>
>Thanks.
>
>JWM
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tomcat-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tomcat-user-help@jakarta.apache.org
>
>
>  
>


-- 
Brian Cook
Digital Services Analyst
Print Time Inc.
bcook@printtime.com
913.345.8900 



Mime
View raw message