728x90
쿼츠 스케줄러
Spring 배치
- quartz.properties 설정하여 클래스패스(src/main/resource/quartz) 상에 위치
org.quartz.scheduler.instanceName = innoquartz-scheduler
org.quartz.threadPool.threadCount = 10
org.quartz.jobStore.isClustered = false
#스케줄을 DB에 저장관리하기 위해서 설정
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
(db를 사용하기위한 코딩-쿼츠 스케줄러)
- Quartz JOBStore를 위해서는 Database에 QuartzJOB 관련된 스키마와 테이블이 생성되어 있어야 한다.
배포판을 내려받아 압축을 풀어보면 docs/dbTables 디렉토리안에 데이터베이스별로 DB 초기화 스크립트가 포함되어 있어 이를 실행해주면 이후에는 Quartz의 SchedulerFactoryBean 을 설정해줄 때 `DataSource`를 주입해주면 알아서 해당 데이터베이스에 정보를 넣고 빼고함
context-schedul.xml
<bean id="smsInfoReceiverScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
CRON 작업시 5개의 테이블에 데이터가 들어갑니다.
QRTZ_FIRED_TRIGGERS;
QRTZ_TRIGGERS;
QRTZ_LOCKS;
QRTZ_CRON_TRIGGERS;
QRTZ_JOB_DETAILS;
나머지 테이블에는 필수키만 넣으시고 QRTZ_TRIGGERS 테이블의 NEXT_FIRE_TIME에 다음에 실행될 시간을 UNIX시간 변환하여 넣어주고 MISFIRE_INSTR = '0' 을 넣어주시면 서버 대리지 않고 스케줄을 관리 가능합니다.
ex) 2020년 05월 14일 11시 11분 = 1589422260000
728x90
'JAVA' 카테고리의 다른 글
[WEBTOB]SSL 인증 패스워드 자동 설정법 (0) | 2022.07.01 |
---|---|
[eclipse] SVN commit 'is out of date' 오류 해결 !! (0) | 2022.07.01 |
SVN ip 변경 (0) | 2020.06.19 |
객체 형 변환 [Object reference type] / 오버라이딩 메소드 (0) | 2019.06.27 |
List<T>.Contains 메서드 (T) (4) | 2017.12.26 |