commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alfredo Ledezma Melendez <alfredo.melen...@mail.telcel.com>
Subject RE: DBCP - Why we close connection
Date Thu, 15 Jun 2006 15:57:36 GMT


The closing statements at the finally clause assures you the db resources
are released even when an exception is thrown.

This is a good practice, just imagine what will happen using the next code:
	try{
             conn =
 DriverManager.getConnection("jdbc:apache:commons:dbcp:example");
             stmt = conn.createStatement();
             rset = stmt.executeQuery(args[1]);
             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("");
             }
             try { rset.close(); } catch(Exception e) { }
             try { stmt.close(); } catch(Exception e) { }
             try { conn.close(); } catch(Exception e) { }
         } catch(SQLException e) {
             e.printStackTrace();
         }

If an exception occurs in one iteration, you will never release the db
resources (the close statements will never be reached).

I hope it helps you.
Regards,
____________________________________________
Alfredo Ledezma Meléndez.
Gerencia Implantación S.A.P.
Supervisor Técnico WEB-ABAP
Radiomóvil DIPSA, S. A. de C. V.
Lago Alberto No. 366, Col. Anáhuac, C.P. 11320
México D.F.

> -----Original Message-----
> From: Tahir Akhtar [mailto:tahir@spectrum-tech.com]
> Sent: Jueves, 15 de Junio de 2006 10:10 a.m.
> To: 'Jakarta Commons Users List'; jawed@spectrum-tech.com
> Subject: RE: DBCP - Why we close connection
>
> When you get connection with this line
> DriverManager.getConnection("jdbc:apache:commons:dbcp:example");
> You are actually getting a connection wrapped in dbcp wrapper. When you
> call
> close, the wrapper method close is called instead of close on actual db
> driver. This wrapper releases the connection instead of closing it.
>
> Regards,
> Tahir
>
> -----Original Message-----
> From: Jawed Nazar Ali [mailto:jawed@spectrum-tech.com]
> Sent: Thursday, June 15, 2006 8:01 PM
> To: commons-user@jakarta.apache.org
> Subject: DBCP - Why we close connection
>
> Hello,
>
>
>
>         try {
>             conn =
> DriverManager.getConnection("jdbc:apache:commons:dbcp:example");
>             stmt = conn.createStatement();
>             rset = stmt.executeQuery(args[1]);
>             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) { }
>         }
>
>
>
> Why we close conn at the end, I don't understand this. Any explanation?
>
>
>
> Regards,
>
> Jawed Nazar Ali
>
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.394 / Virus Database: 268.8.4/364 - Release Date: 6/14/2006
>
>
> --
> No virus found in this outgoing message.
> Checked by AVG Free Edition.
> Version: 7.1.394 / Virus Database: 268.8.4/364 - Release Date: 6/14/2006
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-user-help@jakarta.apache.org


Este mensaje es exclusivamente para el uso de la persona o entidad a quien esta dirigido;
contiene informacion estrictamente confidencial y legalmente protegida, cuya divulgacion es
sancionada por la ley. Si el lector de este mensaje no es a quien esta dirigido, ni se trata
del empleado o agente responsable de esta informacion, se le notifica por medio del presente,
que su reproduccion y distribucion, esta estrictamente prohibida. Si Usted recibio este comunicado
por error, favor de notificarlo inmediatamente al remitente y destruir el mensaje. Todas las
opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden
con las de Radiomovil Dipsa, S.A. de C.V. o alguna de sus empresas controladas, controladoras,
afiliadas y subsidiarias. Este mensaje intencionalmente no contiene acentos.

This message is for the sole use of the person or entity to whom it is being sent.  Therefore,
it contains strictly confidential and legally protected material whose disclosure is subject
to penalty by law.  If the person reading this message is not the one to whom it is being
sent and/or is not an employee or the responsible agent for this information, this person
is herein notified that any unauthorized dissemination, distribution or copying of the materials
included in this facsimile is strictly prohibited.  If you received this document by mistake
please notify  immediately to the subscriber and destroy the message. Any opinions contained
in this e-mail are those of the author of the message and do not necessarily coincide with
those of Radiomovil Dipsa, S.A. de C.V. or any of its control, controlled, affiliates and
subsidiaries companies. No part of this message or attachments may be used or reproduced in
any manner whatsoever.

---------------------------------------------------------------------
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