I apologize for not being familiar with this, but I have some insight to
offer.  Bear with me:

Is ConnCache your own class (i.e., did you write it)?  If it is, I'd put a
call to close() in the finalize method of that ConnCache, not GeneralConn.
If it's not, I would expect that has already been done.

If ConnCache not your class, and it does not close its own connection, then
yes, you're doing it right.  There shouldn't be any issues with that
approach.

finalize() is indeed guaranteed to run upon garbage collection, which in
turn is guaranteed to happen.  However, garbage collection can happen at any
time, so the connection may not be closed immediately.  If this is an issue
for you, you can call System.gc() to force it to garbage collect
immediately.

-Jake



Rosdi bin Kasim wrote:

> This is a bit off topic.
> 
> I am using connection pooling, and in my code, I open all the connection I
> need in an object constructor.
> Then I will close this connection in finalize(), which (according to what I
> read) will be executed during java garbage collect.
> 
> --- sample code ------
> 
> public class GeneralConn {
> 
>  private ConnCache connCache;
> 
>  //open connection during object creation
>  public GeneralConn () {
>      try {
>         connCache = ConnCache.getInstance();
>         dbConn    = connCache.getConnection();  //grab a connection from
> the connection pool
>      }catch (Exception e) {
>             System.out.println("Fail to open connection: " +
> e.getMessage());
>      }
>   }
> 
>   //close when this object is destroyed
>   public void finalize () {
>       try{
>           dbConn.close();
>           dbConn = null;
>         }catch (Exception e) {
>             System.out.println("Fail to close connection: " +
> e.getMessage());
>         }
>   }
> }
> 
> Would this be okay? is it guaranteed that finalize() will be executed during
> garbage collect??
> 
> 
> Regards,
> Rosdi bin Kasim.
> 
> 
> 
> 
> ---------------------------------------------------------------------
> 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