메뉴 건너뛰기

목록
2022.09.17 19:46

quartz 기능 메모

profile
조회 수 19 댓글 1 예스잼 0 노잼 0

No Attached Image

구현할것 : DB 테이블에 cronexpression / 실행클래스 / 실행 method / 기타 데이터 저장 후 어플리케이션 구동시 스케쥴러 등록후 자동실행 처리

 

package com.example.quartz;

 

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.impl.StdSchedulerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.ApplicationArguments;

import org.springframework.boot.ApplicationRunner;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.scheduling.annotation.EnableScheduling;

import org.springframework.scheduling.quartz.CronTriggerFactoryBean;

import org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean;

 

import com.example.quartz.service.SchedulerService;

 

@SpringBootApplication

@EnableScheduling

public class QuartzApplication implements ApplicationRunner{

public static void main(String[] args) {

SpringApplication.run(QuartzApplication.class, args);

}

 

@Override

public void run(ApplicationArguments args) throws Exception {

Scheduler scheduler = new StdSchedulerFactory().getScheduler();

// Create JOB

        MethodInvokingJobDetailFactoryBean jobDetail = new MethodInvokingJobDetailFactoryBean();

        // Class.newInstance()

// 실행 패키지 내 클래스 지정

        jobDetail.setTargetObject(Class.forName("com.example.quartz.test.testClass").newInstance()); 

        

// Target Method

        jobDetail.setTargetMethod("test"); // TargetMethod : 실행할 프로세스가 정의된 method 명 지정

        jobDetail.setName("testSchedule"); // 스케쥴러의 이름 지정

        jobDetail.setConcurrent(false); //여러 작업을 동시에 실행해야 하는지 여부

        jobDetail.afterPropertiesSet();

        

        // Create CRON Trigger

// cronTrigger 설정

        CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean();

        cronTrigger.setBeanName("CRON_" + "testSchedule");

 

        // Execute of CronExpression

        cronTrigger.setCronExpression("0 0/1 * 1/1 * ? *"); // cronexpression 지정

        cronTrigger.afterPropertiesSet();

 

        scheduler.scheduleJob((JobDetail) jobDetail.getObject(), cronTrigger.getObject());

scheduler.start();

}

 

}

 

 

나중에 써먹을수있게 메모해놔야지


List of Articles
번호 제목 글쓴이 날짜 조회 수 추천
공지 수용소닷컴 이용약관 file asuka 2020.05.16 1312 1
1110 - 또치면과락 2024.03.31 76 0
1109 - 나무터칭수필맨 2023.05.26 14 0
1108 -메- 64비트 도입여정 1 나무터칭수필맨 2023.06.10 99 0
1107 -메랜- 고확추출 말폭도 2024.01.24 152 0
1106 .dat 파일형식 만드는 방법좀 삼김식감 2023.03.27 24 0
1105 (더러움)케이스구멍존나뚫고싶었음 file 名取さな 2021.05.15 84 0
1104 (충격) 오라클 Java 안쓰고 '이것' 사용해... 3 file 아메 2021.11.27 66 2
1103 [Python] File.readlines / IndexError: list index out of range 10 토깽이 2021.07.31 81 1
1102 [스압]피규어 3d캐드부터 도색까지 다 할줄아는 사람있니 5 사람人 2020.11.14 64 0
1101 *항공촬영사진을 3 그리드 2022.09.18 54 0
1100 <class 'datetime.datetime'> 시간단위별로 보는법 3 file 세미콜론 2021.11.27 43 0
1099 <속보> 삼성 블루레이 플레이어 전부 좆됨 file 칼군무 2020.06.27 63 0
1098 "sex" or "boji" in hitomi: 이게 14 토깽이 2021.08.05 78 0
1097 100% 넘기는건뭐여 9 file 저능아 2023.01.10 29 0
1096 11월은 기초 1 말폭도 2023.11.03 65 0
1095 1분이나 줫는대 못찾는다고?? 토깽이 2021.08.03 27 0
1094 2022 카카오 블라인드 Q4 양궁대회 그리드 2022.12.31 40 0
1093 2024년도 기사, 산업기사 시험 일정 및 주요 변경사항 2 file 말랑이 2023.12.29 78 2
1092 2024년도 컴퓨터활용능력 원서접수는 1월1일부터 (지역별 상이) 2 file 말랑이 2023.12.30 55 0
1091 23-03 삼성 코테풀이 1 삼김식감 2023.04.10 56 0
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 56 Next
/ 56