aspose file tools*
The moose likes JDBC 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
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Life of the JDBC-ODBC Connection object in a Thread??" Watch "Life of the JDBC-ODBC Connection object in a Thread??" New topic
Author

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

Raj
Greenhorn

Joined: Feb 21, 2006
Posts: 5
Hi,

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()
{
try
{
Class.forName(DRIVER_NAME);
con = DriverManager.getConnection(DSN, USER, PWD);
stmt = con.createStatement();
..................
..................
}
catch (Exception e)
{}
}

Please help me out with this.

Thanks in advance!!
Raj


Raj
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.
Raj
Greenhorn

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
internet detective
Marshal

Joined: May 26, 2003
Posts: 30293
    
150

"Raj",

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.

Thanks,
Jeanne
Forum Bartender


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Life of the JDBC-ODBC Connection object in a Thread??