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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Brian Cook
Digital Services Analyst
Print Time Inc.
[EMAIL PROTECTED]
913.345.8900
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]