Java 주기 작업

자바 설정 코드 는 정기 적 으로 실 행 됩 니 다. 한 번 실행 하면 끝 나 는 것 이 아니 라 주기 적 으로 반복 합 니 다.예 를 들 어 매일 어느 시간, 또는 매주 어느 시간 주기 에 집행 된다.
public void doScheduler(){
    final long PERIOD_DAY = 24 * 60 * 60 * 1000; 
    final long PERIOD_WEEK = 7 * 24 * 60 * 60 * 1000;
    long period = PERIOD_DAY; //    ,      
    int add_days = 1;
    Timer timer = new Timer();
    Calendar calendar = Calendar.getInstance();
    if (    ) {
        calendar.set(Calendar.DAY_OF_WEEK,    );
        period = PERIOD_WEEK; //    
        add_days = 7;
    }
    calendar.set(Calendar.HOUR_OF_DAY,   );
    calendar.set(Calendar.MINUTE,   );
    calendar.set(Calendar.SECOND,  );
    Date date = calendar.getTime();//             
    //                      
    //                  add_days ,             。    add_days ,       
    if (date.before(new Date())) {
        date = this.addDay(date, add_days);
    }
    //                          
    timer.schedule(new TimerTask(){
         public void run(){
             writeDBLog();
         }
    }, date, period);
}
//        
public Date addDay(Date date, int num) {  
    Calendar startDT = Calendar.getInstance();  
    startDT.setTime(date);  
    startDT.add(Calendar.DAY_OF_MONTH, num);  
    return startDT.getTime();  
}

좋은 웹페이지 즐겨찾기