File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Soft Skills: The software developer's life manual this week in the Jobs Discussion forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Thread.sleep() with jdbc

 
Prasad Darsi
Greenhorn
Posts: 16
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
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
try{
//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++){
st.executeUpdate("INSERT INTO TEMP(ID,VALUE,QUALITY) VALUES(..)");
Thread.sleep(18000000);//sleep for 5 min.
}
}catch(java.lang.InterruptedException ie){System.out.println(ie.getMessage());}
}

}
}
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 64171
83
IntelliJ IDE Java jQuery Mac Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Moving to JDBC.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 33670
316
Eclipse IDE Java VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Darsi,
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.
 
Venkata Cherukuri
Greenhorn
Posts: 12
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
May, be in the catch (InterruptedException e)
{
// close the statement
// return the connection to the pool
}
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic