• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Jeanne Boyarsky
  • Tim Cooke
Sheriffs:
  • Knute Snortum
  • Junilu Lacar
  • Devaka Cooray
Saloon Keepers:
  • Ganesh Patekar
  • Tim Moores
  • Carey Brown
  • Stephan van Hulst
  • salvin francis
Bartenders:
  • Ron McLeod
  • Frits Walraven
  • Pete Letkeman

Thread.sleep() with jdbc  RSS feed

 
Greenhorn
Posts: 16
  • 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());}
}

}
}
 
Author and ninkuma
Marshal
Posts: 66820
168
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Moving to JDBC.
 
author & internet detective
Marshal
Posts: 38659
677
Eclipse IDE Java VI Editor
  • 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.
 
Greenhorn
Posts: 12
  • 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
}
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!