Marcelo,

While what you are doing is technically correct, it is safer to place all of
your closing statements in a finally block.  This way they are guaranteed to
run in the event of an exception being thrown.  I have also found that you
should always close everything ResultSets, Statements, PreparedStatements as
well.  Although the most of the API's I have read state that dependencies
will be closed, I have run across several implementations that did not work
that way.  So I always close inner most objects to outermost (ResultSets,
Statement/PreparedStatement, Connection in that order) and always in a
finally block.

Brian McClung
Senior Programmer 
Belo Interactive


-----Original Message-----
From: Marcelo Epstein [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, April 06, 2004 11:31 AM
To: Struts Users Mailing List
Subject: Re: Connection Pooling (How i use...)

I use the pool like this: (IS IT WRONG??) I think the connection is being
closed..

try {
        Context ctx = new InitialContext();
        if (ctx == null)
              throw new Exception("Boom - No Context");

              DataSource ds = (DataSource)
ctx.lookup("java:comp/env/jdbc/EasyDB");

              if (ds != null) {
                Connection conn = ds.getConnection();
                if (conn != null) {
                        Statement stmt = conn.createStatement();
                        String query ="Any query";
                        ResultSet rs = stmt.executeQuery(query);
                        while (rs.next()) {
                                                              "Use ResulSet"

                        }
                                stmt.close();
                        conn.close();
                }
            }
        } catch (Exception ex) {
                System.out.println(ex.toString());
        }


On Tue, 06 Apr 2004 10:19:15 -0600, "Larry Meadors"
<[EMAIL PROTECTED]> escreveu:

> De: "Larry Meadors" <[EMAIL PROTECTED]>
> Data: Tue, 06 Apr 2004 10:19:15 -0600
> Para: <[EMAIL PROTECTED]>
> Assunto: Re: Connection Pooling
> 
> My bet is on a connection leak - you open one in a try block and don't
close it in the finally block.
> 
> >>> [EMAIL PROTECTED] 04/06/04 10:08 AM >>>
> Hi,
> 
> I have just started using Connection Pooling in my app  (Tomcat, Struts,
DBCP, Mysql) .
> It woks for about 20 hours and stop working until tomcat restart. 
> 
> I get this exception:
> 
> org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool
exhausted, cause:
> java.util.NoSuchElementException: Timeout waiting for idle object
> 
> I canĚ t fix it. Any advice??
> 
> Thanks in advance.
> Marcelo
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to