내가 사용을 복구 해달라고 클러스터 서버 ... 클러스터에 2 개의 테스트 서버가 있습니다 (1 DB).석영은 작업
스케줄러 잘 작동,하지만 난 바람둥이 # 2 다시 시작하면 바람둥이 (1) 작업이 ... (2) 작업이 복구되지 않은 다른 서버에서
를 실행중인 경우 중지 할 때, 다음 스케줄러 시작 작업, tomcat # 1을 시작하면 tomcat # 2가 작동 할 때 quartz가 tomcat # 1에 작업을 시작합니다. 아주 좋은 작동하지만
첫 번째 질문 : 그리고 나를 위해 무엇을 jdbcjobstore 더 나은 : 나는 ... 바람둥이 # 1이 정지 될 때, 바람둥이 # 2를 다시 시작하지 않고 작업을 시작합니다
두 번째 질문을해야합니까? JobStoreTX 또는 JobStoreCMT? 작업 클러스터에서 저는 스프링에 4 서버가 있습니다. 4.230
죄송합니다. 영어로 죄송하며 답변 해 주셔서 감사합니다.
속성 석영, @Bean 내 프로젝트에
Properties prop = new Properties();
prop.put("org.quartz.threadPool.class","org.quartz.simpl.SimpleThreadPool");
prop.put("org.quartz.threadPool.threadCount", "4");
prop.put("org.quartz.jobStore.misfireThreshold", "20000");
prop.put("quartz.scheduler.instanceName", "ServerScheduler");
prop.put("org.quartz.scheduler.instanceId", "AUTO");
prop.put("org.quartz.scheduler.skipUpdateCheck", "true");
prop.put("org.quartz.scheduler.instanceId", "IS_CLUSTERED");
prop.put("org.quartz.scheduler.jobFactory.class","org.quartz.simpl.SimpleJobFactory");
prop.put("org.quartz.jobStore.class","org.quartz.impl.jdbcjobstore.JobStoreCMT");
prop.put("org.quartz.jobStore.driverDelegateClass","org.quartz.impl.jdbcjobstore.PostgreSQLDelegate");
prop.put("org.quartz.jobStore.dataSource", "myDS");
prop.put("org.quartz.jobStore.nonManagedTXDataSource", "myDS");
prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
prop.put("org.quartz.jobStore.isClustered", "true");
prop.put("org.quartz.dataSource.myDS.driver", "org.postgresql.Driver");
prop.put("org.quartz.dataSource.myDS.URL", url);
prop.put("org.quartz.dataSource.myDS.user", user);
prop.put("org.quartz.dataSource.myDS.password", password);
prop.put("org.quartz.dataSource.myDS.maxConnections", "4");
내 작업과 트리거
JobDetail job = newJob(QuartzStockTask.class)
.withIdentity("Job " + "1", "Job group " + "11")
.requestRecovery(true)
.build();
Trigger sTrigger1 = newTrigger()
.withIdentity("Trig " + "1", "Trig group " + "11")
.startNow()
.withSchedule(simpleSchedule()
.withIntervalInSeconds(10)
.repeatForever())
.build();
scheduler.scheduleJob(job, sTrigger1);
처음으로 JobStoreTX를 사용했는데 문제가 같았습니다. JobStoreCMT를 사용해 보았지만 도움이되지 않았습니다 ... –
"org.quartz.jobStore.clusterCheckinInterval"에 기본값을 사용하고 있습니까? 인스턴스가 체크인하는 빈도를 결정합니다.이 값이 설정에서 큰 경우 서버 2는 서버 1이 다운 된 것을 아직 감지하지 못할 수 있습니다. – Srinivas
당신의 해결책을 시도했지만 도움이되지 않았습니다 –