File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and Relational Databases and the fly likes Life of the JDBC-ODBC Connection object in a Thread?? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "Life of the JDBC-ODBC Connection object in a Thread??" Watch "Life of the JDBC-ODBC Connection object in a Thread??" New topic

Life of the JDBC-ODBC Connection object in a Thread??


Joined: Feb 21, 2006
Posts: 5

I have a Thread that runs every 10 seconds in which I establish a JDBC-ODBC connection in the run method. Now lets assume that I dont close it after I am done with it. If it's a totally java JDBC connection, then the Garbage Collector would take care of freeing the memory when the Thread gets called repeatedly and when the memory resources go low.

But if it's a JDBC-ODBC Connection, then what happens to the first instance of the connection object (the one created when the Thread was called for the first time) when the Thread gets called for the second time after 10 seconds. Please note that the variable name for the new connection is going to be the same. If the answer is that it's going stay in the heap, then for how long?

public void run()
con = DriverManager.getConnection(DSN, USER, PWD);
stmt = con.createStatement();
catch (Exception e)

Please help me out with this.

Thanks in advance!!

emm raha
Ranch Hand

Joined: Mar 18, 2003
Posts: 57
Could you elaborate as to why you wouldn't close the connection? I think relying on the garbage collector would still cause a connection leak. The spec does not mandate JDBC drivers to cleanup in finalize. The recommended cleanup sequence would be:

I know this didn't answer your thread-specific question, but hopefully this will prevent future leakage.

Joined: Feb 21, 2006
Posts: 5
Thats correct !!

But I am in the process of analysing an existing system which has a lot of loose ends in the code. I have to expose them and suggest a workaround.

Please help me out in this...
Jeanne Boyarsky
author & internet detective

Joined: May 26, 2003
Posts: 33134


We're pleased to have you here with us in the JDBC forum, but there are a few rules that need to be followed, and one is that proper names are required. Please take a look at the JavaRanch Naming Policy and adjust your display name to match it.

In particular, your display name must be a first and a last name separated by a space character.

Forum Bartender

[OCA 8 book] [Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
I agree. Here's the link:
subject: Life of the JDBC-ODBC Connection object in a Thread??
It's not a secret anymore!