자바.util.Timer 를 사용 하여 작업 스케줄 링 을 실현 합 니 다.
4210 단어 java.util.Timer태 스 크 스케줄 링
예 를 들 어 우 리 는 한 시스템 이 매주 저녁 9 시 에 데이터베이스 파일 을 한 번 백업 하 기 를 희망 한다.이때 우 리 는 작업 스케줄 을 사용 하여 실현 할 수 있다.더욱 편리 하 게 하기 위해 서,우 리 는 tomcat 가 시 작 된 후에 이 스케줄 을 자동 으로 시작 해 야 한다.
다음은 Timer Task 의 API:
다음은 Timer 류 API 입 니 다.
다음 의 예 에서 두 가지 기능 을 실현 했다.
1.tomcat 의 웹 용기 의 작 동 및 닫 기 모니터링
2.웹 용기 가 시 작 된 후 작업 배정 대상,시간 과 주기.
웹 용기 의 변 화 를 모니터링 하기 위해 서 는 먼저 웹 xml 에 모니터 를 등록 해 야 합 니 다.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<!-- TimerListener , -->
<listener >
<listener-class>com.util.TimerListener</listener-class>
</listener>
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
두 번 째 단계,퀘 스 트 대상 정의,기본 Timer Task
package com.util;
import java.util.Timer;
import java.util.TimerTask;
/**
* 1.
* JDK -- TimerTask
*
*/
public class DataBackup extends TimerTask{
@Override
public void run() {
//
System.out.println(" sql ");
}
}
세 번 째 단계.웹 용기 의 변 화 를 모니터링 하고 웹 용기 가 시 작 된 후에 작업 에 시간 과 주 기 를 배정 합 니 다.아래 코드 에는 몇 가지 예 가 포함 되 어 있 습 니 다.
package com.util;
import java.util.Date;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TimerListener implements ServletContextListener{
private static Timer timer;
/**
* web
*/
@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("web ");
timer.cancel();
}
/**
* web
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("web ");
/**
* Timer
*/
timer = new Timer();
System.out.println(" , ");
//
DataBackup backup = new DataBackup();
//1 schedule(TimerTask task,Data time)
//
//
//timer.schedule(backup, new Date(115,8,10,9,54,0));
//2 schedule(TimerTask task, Date firstTime, long period)
//
//timer.schedule(backup,new Date(115,8,10,10,0,0) ,2000 );
//3schedule(TimerTask task, long delay)
// 。
//timer.schedule(backup, 5000);
//4 schedule(TimerTask task, long delay, long period)
//timer.schedule(backup, 5000, 2000);
//5. 9
//timer.schedule(backup,new Date(115,8,11,9,0,0) ,24*60*60*1000);
//6. 3
//timer.schedule(backup, new Date(115,8,12,3,0,0),7*24*60*60*1000);
}
}
이렇게 하면 tomcat 가 시작 되면 작업 대상 은 시간 과 주기 에 따라 실 행 됩 니 다.요약:Timer 를 사용 하여 작업 스케줄 을 실현 하고 먼저 정의 작업 대상 을 만 듭 니 다.예 를 들 어 여기 Backup;그 다음 에 하나의 Timer 를 예화 하고 임무 대상 을 예화 시 키 며 수요 에 따라 대응 하 는 방법 으로 임무 대상 에 게 시간 과 주 기 를 분배 한다.이상 은 작업 스케줄 의 실현 입 니 다.이 타 이 머 를 언제 시작 하 는 지,즉 언제 부터 타 이 머 를 예화 하 는 지 는 실제 상황 에 따라 확인 해 야 합 니 다.예 를 들 어 위의 코드 는 웹 용기 가 시 작 된 후에 타 이 머 를 시작 하 는 것 입 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바.util.Timer 를 사용 하여 작업 스케줄 링 을 실현 합 니 다.두 번 째 단계,퀘 스 트 대상 정의,기본 Timer Task 세 번 째 단계.웹 용기 의 변 화 를 모니터링 하고 웹 용기 가 시 작 된 후에 작업 에 시간 과 주 기 를 배정 합 니 다.아래 코드 에는 몇 가지 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.