0
메시지가있는 간단한 작업 클래스와 5 초 동안 실행되는 setter가 있습니다. 이 작업 클래스는 @DisallowConcurrentExecution으로 주석 처리되므로 한 번에 여러 번 실행할 수 없습니다.석영 스케줄러가 일관성없이 동작합니다
내 주요 방법으로는이 메시지를 매번 다른 메시지와 함께 6 회 실행 해 봅니다.
SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
String name = "LongJob2X";
JobDetail job = newJob(LongJob.class)
.withIdentity(name, "group1")
.storeDurably()
.requestRecovery(true)
.build();
sched.addJob(job, true);
JobDataMap data = new JobDataMap();
data.put("message", "Prvy");
JobDataMap data2 = new JobDataMap();
data2.put("message", "Druhy");
JobDataMap data3= new JobDataMap();
data.put("message", "3");
JobDataMap data4 = new JobDataMap();
data.put("message", "stvrty");
JobDataMap data5 = new JobDataMap();
data.put("message", "5");
JobDataMap data6 = new JobDataMap();
data.put("message", "xsiesty6");
sched.triggerJob(job.getKey(), data);
sched.triggerJob(job.getKey(), data2);
sched.triggerJob(job.getKey(), data3);
sched.triggerJob(job.getKey(), data4);
sched.triggerJob(job.getKey(), data5);
sched.triggerJob(job.getKey(), data6);
출력이 혼란 스럽습니다.
Thu Jan 22 23:32:09 CET 2015 - 0: xsiesty6
Thu Jan 22 23:32:10 CET 2015 - 1: xsiesty6
Thu Jan 22 23:32:11 CET 2015 - 2: xsiesty6
Thu Jan 22 23:32:12 CET 2015 - 3: xsiesty6
Thu Jan 22 23:32:13 CET 2015 - 4: xsiesty6
Thu Jan 22 23:32:14 CET 2015 - 0: Default
Thu Jan 22 23:32:15 CET 2015 - 1: Default
Thu Jan 22 23:32:16 CET 2015 - 2: Default
Thu Jan 22 23:32:17 CET 2015 - 3: Default
Thu Jan 22 23:32:18 CET 2015 - 4: Default
Thu Jan 22 23:32:19 CET 2015 - 0: Default
Thu Jan 22 23:32:20 CET 2015 - 1: Default
Thu Jan 22 23:32:21 CET 2015 - 2: Default
Thu Jan 22 23:32:22 CET 2015 - 3: Default
Thu Jan 22 23:32:23 CET 2015 - 4: Default
Thu Jan 22 23:32:24 CET 2015 - 0: Druhy
Thu Jan 22 23:32:25 CET 2015 - 1: Druhy
Thu Jan 22 23:32:26 CET 2015 - 2: Druhy
Thu Jan 22 23:32:27 CET 2015 - 3: Druhy
Thu Jan 22 23:32:28 CET 2015 - 4: Druhy
Thu Jan 22 23:32:30 CET 2015 - 0: Default
Thu Jan 22 23:32:31 CET 2015 - 1: Default
Thu Jan 22 23:32:32 CET 2015 - 2: Default
Thu Jan 22 23:32:33 CET 2015 - 3: Default
Thu Jan 22 23:32:34 CET 2015 - 4: Default
Thu Jan 22 23:32:35 CET 2015 - 0: Default
Thu Jan 22 23:32:36 CET 2015 - 1: Default
Thu Jan 22 23:32:37 CET 2015 - 2: Default
Thu Jan 22 23:32:38 CET 2015 - 3: Default
Thu Jan 22 23:32:39 CET 2015 - 4: Default
내가 해봤 모든 실행 두 번째 및 설정 마지막 메시지 만했다 : 코드는 각 트리거에 대해 동일하지만, 때로는 메시지에 대한 세터는 따라서이 출력, 호출되지 않습니다. 한 번에 저장할 수있는 JobDataMap 수에 제한이 있습니까? 아니면 내가 잘못하고있는거야? 감사. 나는이 같은 JDBC JobStore을 사용하고 있습니다 :
마지막 주 그것은 쉽게
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
네가 맞아, 이런 일이 생길 때가 싫어. :) 나는 10 분 동안 코드를 살펴 봤는데, 지금 프로그래밍하기에는 너무 늦었다 고 생각한다. :) – Samuel