작업 스케줄링은 주어진 시점, 주어진 시간 간격 또는 주어진 수의 실행에 따라 작업을 자동으로 수행하는 것을 나타냅니다.
예를 들어, 시스템이 매주 일요일 오후 9시에 데이터베이스 파일을 백업 할 수 있도록하고 작업 예약을 사용하여 구현할 수 있습니다. 더 편의를 위해서는 Tomcat이 시작된 후이 스케줄링을 자동으로 시작해야합니다.
다음은 Timertask API입니다.
아래는 타이머 클래스 API입니다
다음 예에서는 두 가지 기능이 구현됩니다.
1. Tomcat 웹 컨테이너의 시작 및 종료 모니터링 모니터링
2. 웹 컨테이너가 시작되면 작업 일정은 작업 객체, 시간 및 기간을 할당합니다.
웹 컨테이너의 변경 사항을 모니터링하려면 먼저 Web.xml에 리스너를 등록해야합니다.
<? xml version = "1.0"encoding = "utf-8"?> <web-app version = "3.0"xmlns = "http://java.sun.com/xml/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를 사용자 정의 클래스로 추가하십시오. <Leater-Class> com.util.timerListener </Learger-Class> </Listener> <Display-Name> </display-name> <welcome-file-list> <welce-file> index.jsp </belop-file> </belop-file-list> </web-app>
두 번째 단계 는 작업 객체 인 기본 타이머 스탁을 정의하는 것입니다.
패키지 com.util; import java.util.timer; import java.util.timerask;/** * 1. 작업 객체 * jdk 정의 - 작업 객체는 Timertask * */public class databackup을 상속해야합니다. timertask {@override public void run () {// 현재 작업이 데이터를 실행 해야하는 작업을 설명합니다. 로컬 SQL 파일에 대한 접합 및 데이터 "); }}3 단계. 웹 컨테이너의 변경 사항을 모니터링하십시오. 웹 컨테이너가 시작되면 작업 스케줄링에 시간과 사이클을 할당하십시오. 다음 코드에는 몇 가지 예가 포함되어 있습니다.
패키지 com.util; import java.util.date; import java.util.timer; import javax.servlet.servletcontextevent; import javax.servlet.servletcontextlistener; public class timerlistener emplices servletcontextlistener {private static timer; / *** 웹 컨테이너를 들으십시오.*/ @override public void contextDestroyed (servletcontextevent scce) {system.out.println ( "웹 컨테이너 닫기"); TIMER.CANCEL (); } / *** 웹 컨테이너 시작 듣기* / @override public void contextinitialized (servletcontextevent scet) {system.out.println ( "웹 컨테이너 시작"); / *** TIMER METER 준비*/ TIMER = New Timer (); System.out.println ( "타이머가 준비 중이며 작업 예약을위한 시간과 기간을 할당하기 시작합니다"); // 작업 개체 생성 Databackup Backup = New Databackup (); // 1 스케줄 (Timertask Task, Data Time) // 지정된 시간에 지정된 작업을 일정 지정된 시간에 실행을 시작합니다. // 월은 하나의 //timer.schedule (backup, new Date) (115,8,10,9,54,0)로 줄어 듭니다. // 2 스케줄 (타임 스탁 작업, 날짜 최초, 장기) // 일정 (백업, 새 날짜 (115,8,10,10,0,0), 2000); // 3Schedule (Timertask Task, Long Delay) // 일정 (Timertask Task, Long Delay) // 일정 (Timertask Task, Long Delay) // 일정 (Timertask Task, Long Delay) // 일정 (Timertask Task, Long Delay) // 일정 (Timertask Task, Long Delay) // 일정 (긴 지연) // 일정 (긴 지연) // 일정 (긴 지연) // // 스케줄 (Timertask Task, Long Delay) //timer.schedule(Backup, 5000); // 4 일정 (TimerTask 작업, 장기 지연, 장기) //timer.schedule(Backup, 5000, 2000); // 5. 매일 오전 9시에 작업을 한 번 출발하십시오 //timer.schedule(Backup, 새 날짜 (115,8,11,9,0,0), 24*60*60*1000); // 6. 매주 토요일 오전 3시에 작업을 한 번 출발하십시오. //timer.schedule(Backup, 새로운 날짜 (115,8,12,3,0,0), 7*24*60*60*1000); }} 이런 식으로 Tomcat이 시작되면 할당 된 시간과 사이클에 따라 작업 객체가 실행되기 시작합니다.
요약 : 타이머를 사용하여 작업 일정을 구현하고 먼저 백업과 같은 정의 된 작업 객체를 만듭니다. 그런 다음 타이머를 인스턴스화하고 작업 객체를 인스턴스화 한 다음 시간 및 기간을 작업 객체에 할당하는 요구 사항에 따라 해당 메소드를 호출하십시오. 위는 작업 일정을 구현하는 것입니다. 이 타이머가 시작될 때, 즉 타이머가 인스턴스화를 시작할 때 실제 상황에 따라 결정해야합니다. 예를 들어, 위 코드는 웹 컨테이너가 시작된 후 타이머를 시작하는 것입니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.