메뉴 건너뛰기

목록
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 1304 1
1022 걍 간단하게 플로터로 앱 만들어보려는데 1 MDR 2023.04.22 15 0
1021 뭔가 아는것 같기도 하면서 나무터칭수필맨 2023.04.21 12 0
1020 C++에서의 구조체와 클래스 사용... 나무터칭수필맨 2023.04.20 30 0
1019 삭제된 게시글입니다. 저능아 2023.04.19 12 0
1018 삭제된 게시글입니다. 쓰레기 2023.04.19 17 0
1017 농림수산성이 업무에 챗GPT 투입 2 柊かがみ 2023.04.18 39 0
1016 matlab 으로 매크로를 만들 수 있을까 2 삼육두유 2023.04.15 52 0
1015 오늘 학교 과제내준거 삼김식감 2023.04.11 33 0
1014 23-03 삼성 코테풀이 1 삼김식감 2023.04.10 55 0
1013 블록체인 공부 시작하겠음... 삼김식감 2023.04.07 21 0
1012 결국 교수상이 AI를 언급해버리고 말았음 2 file 삼육두유 2023.04.05 66 0
1011 개인용 1 나는무적이다코인은신이고 2023.04.05 16 0
1010 회귀분석만 하면 뭐함? 1 삼김식감 2023.04.03 26 0
1009 MSE 에 루트 씌우면 RSME 라는데 삼김식감 2023.04.02 14 0
1008 대충 써봄 6 file 삼김식감 2023.04.01 27 0
1007 시발 file 삼김식감 2023.03.27 36 0
1006 대회에 대해 생각해봤음 삼김식감 2023.03.27 28 0
1005 코드검증용 삼김식감 2023.03.27 17 0
1004 데이터 분석 잘하는 수붕이 있냐 file 삼김식감 2023.03.27 11 0
1003 .dat 파일형식 만드는 방법좀 삼김식감 2023.03.27 24 0
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 56 Next
/ 56