일정 시간단위로 반복되는 배치 수행

2019. 5. 21. 16:15JAVA

package com.exam.test;

 

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

 

 

public class TimerTest {

public static void main(String[] args) {

Timer timer = new Timer();

TimerTask timerTask1 = new TimerTask() {

//타이머가 동작할 일

@Override

public void run() {

System.out.println("timerTask1.... |||||||");

}

};//timerTask1

String str = "2019-5-21T14:25";

str=str.replace("T", " ");

System.out.println(str);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm");

Date date = null;

try {

date = sdf.parse(str);

} catch (ParseException e) {

e.printStackTrace();

}

String strPeriod ="";

 

TimerTask timerTask2 = new TimerTask() {

 

@Override

public void run() {

System.out.println("timerTask2.... |||||||");

// 작업내용이 포함된 TimerTask

 

}

};

 

timer.scheduleAtFixedRate(timerTask1, 500, 2000); // timeTask1를 period만큼 반복 , 단위는 ms

timer.scheduleAtFixedRate(timerTask2, 0, 5000); // timeTask1를 period만큼 반복 , 단위는 ms

 

timerTask1.cancel(); // 개별 태스크 동작 취소

timer.cancel(); // 타이머에 등록된 모든 태스크 취소

}

}