This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
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 javaJDBC 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?
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
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.
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.