This week's book giveaway is in the Design forum.
We're giving away four copies of Building Microservices and have Sam Newman on-line!
See this thread for details.
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 Building Microservices this week in the Design 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: 32508


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
Have you checked out Aspose?
subject: Life of the JDBC-ODBC Connection object in a Thread??
jQuery in Action, 3rd edition