4
구성된 석영 작업을 사용하여 DB에Quartz 스케쥴러는 JdbcStore를
public static void schedule(IEntity entity, Date startdate) {
try {
JobDetail job = JobBuilder.newJob(StatingUpdateJob.class)
.withIdentity("UpdateStagingRecords" + entity.getId(), "StgToProduction").build();
JobDataMap data = new JobDataMap(new HashMap<>());
data.put("Entity", entity);
job.getJobBuilder().setJobData(data);
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
Date enddate = new Date();
enddate.setTime(startdate.getTime() + 6000000);
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
.withIdentity("UpdateStagingRecords" + entity.getId(), "StgToProduction").startAt(startdate)
.withSchedule(CronScheduleBuilder.cronSchedule("0 0/5 * 1/1 * ? *")
.withMisfireHandlingInstructionDoNothing())
.endAt(enddate).build();
Connection connection = DBConnectionManager.getInstance().getConnection("myDS");
System.out.println(connection);
scheduler.scheduleJob(job, cronTrigger);
scheduler.start();
} catch (Exception e) {
System.out.println("Something went wrong");
e.printStackTrace();
}
}
을 기록을 삽입 한 다음 내 클래스 경로에 quartz.properties을 배치
org.quartz.scheduler.instanceName=JavacodeGeeksScheduler
org.quartz.scheduler.instanceId=99199
org.quartz.scheduler.rmi.export=false
org.quartz.scheduler.rmi.proxy=false
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=3
org.quartz.context.key.QuartzTopic=QuartzPorperties
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.dataSource=myDS
org.quartz.jobListener.NAME.class=com.javacodegeeks.quartz.MyJobListener
org.quartz.dataSource.myDS.driver=com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL=jdbc:mysql://localhost/test
org.quartz.dataSource.myDS.user=admin
org.quartz.dataSource.myDS.password=admin
org.quartz.dataSource.myDS.maxConnections=30
내 작업이 성공적으로 생성 제대로 실행되지 않고있는 상태. 그러나 작업 세부 정보는 DB에 저장되지 않습니다. 여기 내 테이블 내가 구성해야 그 밖의 무엇 확실하지
입니다.
구성에서 마지막 5 개의 속성이 고정 된 간격으로 구성 파일을 확인하는 데 사용됩니다. 확실하지는 않지만 사용하고 있습니까? 그렇지 않다면 주석을 달아보십시오. –
@BilboBaggins 당신은 데이터 소스와 관련된 것들을 의미합니까? 이것이 DB 세부 정보를 제공 할 수있는 곳입니까? 그렇지 않니? 내가 틀렸다면 나를 바로 잡으십시오. –
MYSQL에 어떤 버전과 옵션이 있는지 모르지만 대문자 문제와 관련이있을 수 있습니다. 테이블은 소문자 qrtz로 시작하며 구성에서이 QRTZ_가 있습니다. – pringi