2014-02-24 29 views
0

我用谷歌地圖API的使用在我的Java application.in這個我需要查詢自動發送到數據庫每隔一分鐘,並刪除記錄(位置信息)。我用JSP來刪除記錄,我想調用這個JSP文件,如果我對項目執行的外部每一個minute.this JSP文件刪除的記錄完美,發送的查詢數據基地爲每分鐘

delete markers.jsp 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<%!Connection connection; 
    Statement statement; 
    ResultSet rs; 
    PreparedStatement preparedStatement; 
    %> 
    <% 
    ArrayList<Object> arrayList = new ArrayList<Object>(); 
    String query1="select sno,time,date_time from jam_info"; 
    connection=DBCreation.getConnection(); 
    statement=connection.createStatement(); 
    rs=statement.executeQuery(query1); 
    while(rs.next()) 
    { 
     int sno=rs.getInt(1); 
     int expectedtime=rs.getInt(2); 
     Timestamp timeReg = rs.getTimestamp(3); 
     long time_minutes=(timeReg.getTime()/1000)/60; 
     long total_time=expectedtime+time_minutes; 
     System.out.println("expected time"+expectedtime); 
     System.out.println("record insert time"+timeReg); 
     System.out.println("time minutes inminutes"+(timeReg.getTime()/1000)/60); 
     System.out.println("totaltime"+total_time); 
     long currentTime = (System.currentTimeMillis()/1000)/60; 
     System.out.println("now"+currentTime); 

     if(total_time<currentTime) 
     { 
      preparedStatement=connection.prepareStatement("delete from jam_info where sno=?"); 
      preparedStatement.setInt(1, sno); 
      int res=preparedStatement.executeUpdate(); 
      if(res>0) 
      { 
       System.out.println(res+"deleted"); 
      } 
     } 

    } 
    %> 
</body> 
</html> 

與該記錄我可以刪除基於記錄在我的要求,但我該如何使用這個JSP文件每隔一分鐘打服務器

+0

如果你能做到這一點的服務器端,看[ScheduledExecutorService的(http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ScheduledExecutorService.html)。 Java的的內置功能來運行[Runnable接口(http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html)每x指定分鐘。 –

回答

1

使用定時器發送Ajax調用..

<script> 
var myVar=setInterval(function(){myTimer()},1000); 
function myTimer() 
{ 
var d=new Date(); 
var t=d.toLocaleTimeString(); 
document.getElementById("demo").innerHTML=t; 
} 
function myStopFunction() 
{ 
clearInterval(myVar); 
} 
</script> 
+0

thanku爲ü響應,它的罰款,但我怎麼可以使用deletemarkers.jsp這個代碼,因爲我不得不刪除數據庫記錄, – kumar

+0

是否有您通過JSP做什麼特別的原因嗎?如果你願意,你可以使用Quartz調度這個太 – Charitha

+0

我不知道如何使用Quartz調度工作,是有可能通過使用Quartz調度用我deletemarkers.jsp邏輯,將ü請與修改Quartz調度其他明智我會做,謝謝你的回覆 – kumar

1

如果要執行在特定的間隔時間行動,你可以使用Quartz Scheduler。如果你想從UI中觸發操作,使用Jquery的setTimeout或setInterval並調用你的自定義方法來執行任何操作。

+0

可以請你舉例說明 – kumar

1

您可以通過crontab的安排吧,如果你沒有特權然後問你的系統管理員或dba-

通過以下命令

開放的cron文件;

crontab -e命令

到最後一行,然後按小「O」:它會打動你在插入模式並創建一個新的生產線。

低於線貼在這裏:

*/1 * * * * /usr/......./bin/java罐子/..path.../my_file.jar

按esc鍵,然後:「分號」,然後鍵入wq然後按回車鍵:它將保存在上面的行並退出文件。

這將每1分鐘的時間間隔之後執行,並執行任何將在文件中。