首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >石英不能恢复工作

石英不能恢复工作
EN

Stack Overflow用户
提问于 2017-09-25 15:37:33
回答 1查看 1.8K关注 0票数 1

我用:

  • 春季4.2.9
  • PostgreSQL
  • 石英2.3.0
  • Java 8

我在集群服务器的恢复工作中遇到了一些问题.集群中有两个测试服务器(1DB)。

调度程序工作正常,但当我停止tomcat (1)在运行作业时,在另一个服务器(2)作业无法恢复.

如果我重新启动tomcat #2,那么调度程序开始工作,如果我启动tomcat #1,当tomcat #2工作时,石英将工作转到tomcat #1。工作非常好,但是

第一个问题:我需要当tomcat #1停止时,tomcat #2将启动作业而不重新启动.

第二个问题:什么jdbcjobstore对我更好?JobStoreTX还是JobStoreCMT?在工作集群中,Spring4.2.9上有4台服务器

对不起,我的英语和非常感谢您的回答!

属性石英,@Bean在我的项目中

代码语言:javascript
复制
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");

我的工作和扳机

代码语言:javascript
复制
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);
EN

回答 1

Stack Overflow用户

发布于 2017-09-26 10:55:48

我发现了问题,它是双org.quartz.scheduler.instanceId,在第一次是自动和第二次IS_CLUSTERED。谢谢大家!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46409057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档