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 Thread.sleep() with jdbc Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC and Relational Databases
Bookmark "Thread.sleep() with jdbc" Watch "Thread.sleep() with jdbc" New topic

Thread.sleep() with jdbc

Prasad Darsi

Joined: Sep 26, 2004
Posts: 16
I am uploading the data from a text file(which gets updated every 5 min.) into the database.

Can anybody tell me whether the approch I am following is efficient or is there any other way to achieve this ?

My approach is :
1. Getting a connection object ONCE from the database.
2. Putting statement.executeUpdate() in an infinite loop.

This is working fine without any problems till now. The only problem which I foresee is that when the program is stopped, the connection and statement objects are not being closed.(OR are they closed automatically ?). If they are not closed, how to close the connection objects when the user types 'ctrl+c' to exit the program ?

Following is the sample code..

public class JdbcThread{
public static void main(String[] args){
for(int i=0;i>=0;i++){ //i.e., infinite loop
//read values from the text file..
int k=20; //the total no. of lines in the text file.
for(int j=0;j<k;j++){
Thread.sleep(18000000);//sleep for 5 min.
}catch(java.lang.InterruptedException ie){System.out.println(ie.getMessage());}

Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63858

Moving to JDBC.

[Asking smart questions] [About Bear] [Books by Bear]
Jeanne Boyarsky
author & internet detective

Joined: May 26, 2003
Posts: 33117

No, the connection and statement objects are not closed automatically. As an aside, I recommend using a PreparedStatement rather than a Statement since the SQL is similar each time. This will provide a performance boost.

While the connection and statement objects aren't closed, it probably isn't a big deal because the JVM is being exited. It is cleaner to clean up though, which can be done by exiting in a more controlled manner. For example, if you exit by having the user enter a value (and check for it on each iteration) or having the user modify a file, you can close the connection and statement yourself.

[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
Venkata Cherukuri

Joined: Sep 07, 2003
Posts: 12
May, be in the catch (InterruptedException e)
// close the statement
// return the connection to the pool
I agree. Here's the link:
subject: Thread.sleep() with jdbc
jQuery in Action, 3rd edition