2014-02-24 1 views
0

Google Java API로 작업하는 Api는 자바 애플리케이션입니다.이 작업은 1 분마다 데이터베이스에 쿼리를 보내고 레코드 (위치 정보)를 자동으로 삭제해야합니다. 내가 따라 기록을 삭제할 수 있습니다이 레코드에, 나는이 프로젝트에 외부에서 실행될 경우 모두 minute.this JSP 파일이 완벽하게 삭제 된 레코드를이 JSP 파일을 호출하려면, 레코드를 삭제는 1 분마다 데이터베이스에 쿼리를 보냈습니다

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)를 확인하십시오. 사용자가 지정한 x 분마다 [Runnable] (http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html)을 실행하기위한 Java의 내장 기능. –

답변

1

를 치고 1 분마다이 JSP 파일을 사용하는 방법 .. 타이머를 사용

<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

u 응답에 대한 감사, 괜찮아요,하지만 데이터베이스에서 레코드를 삭제해야하기 때문에이 코드에서 deletemarkers.jsp를 어떻게 사용할 수 있습니까? – kumar

+0

JSP로 처리하는 특별한 이유가 있습니까? 원하는 경우 Quartz Scheduler for this this too – Charitha

+0

Quartz Scheduler로 작업하는 방법을 모른다면 Quartz Scheduler를 사용하여 내 deletemarkers.jsp 논리를 사용할 수 있습니까? Quartz Scheduler로 수정하십시오. 통해 UR 대답을 주셔서 감사합니다 – kumar

1

를 아약스 호출을 보내기 Quartz Scheduler를 사용할 수 있습니다. opeartions을 UI에서 트리거하려면 Jquery의 setTimeout 또는 setInterval을 사용하고 사용자 정의 메서드를 호출하여 아무 것도 수행하지 않습니다. 당신이 다음 시스템 관리자에게 문의하거나 dba-의 권한이없는 경우

+0

예를 들어 설명해 주시기 바랍니다 Logged – kumar

1

당신은 crontab을 통해 예약 할 수 있습니다

아래 명령으로

열린 크론 파일;

의 crontab은 -e

은 마지막 줄에 가서 작은 'O'를 누릅니다가 삽입 모드에서 당신을 이동하고 새 줄을 만듭니다. 여기서 라인 아래

붙여

*/1 * * * * /usr/......./bin/java -jar /..path.../my_file.jar

esc 키를 누른 다음 "세미콜론"을 입력 한 다음 Enter 키를 누릅니다. 위의 행을 저장하고 파일을 종료합니다.

1 분 간격으로 실행되고 파일에있는 내용을 실행합니다.

관련 문제