首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >石英调度器/多个(非群集)调度器实例

石英调度器/多个(非群集)调度器实例
EN

Stack Overflow用户
提问于 2015-01-15 14:29:27
回答 3查看 8.6K关注 0票数 3

对于我的生活,我似乎不知道如何配置Quartz有两个调度器实例。我目前使用石英来获取一个调度程序实例,但是想要两个实例,正如文档中所描述的,因为我有一些轻量级的任务,我想在需要的时候运行,同时将一些重任务限制在几个实例中.正如文档所描述的,但无法弄清楚。

有人能给我一个简单的例子,说明属性文件应该是什么样子,以及如何实例化单独的调度器吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-15 14:46:36

我没有通过属性文件配置它们的经验,但我有这样的设置:

代码语言:javascript
复制
  FileAppender fa = new FileAppender(new PatternLayout("%d{[dd/MM/yyy HH:mm:ss]} :: %2p :: %C{1} : %M :: %m%n"),
          ".\LogFiles\scheduler.log");
  fa.setName("QuartzScheduler");
  fa.setThreshold(Level.ALL);
  fa.setAppend(true);
  fa.activateOptions();
  org.apache.log4j.Logger.getLogger("org.quartz").addAppender(fa);
  org.apache.log4j.Logger.getLogger("org.quartz").setLevel(Level.INFO);
  SimpleThreadPool threadPool = new SimpleThreadPool(25, Thread.NORM_PRIORITY);
  JobStore jobStore = new RAMJobStore();
  threadPool.setInstanceName("MyQuartz");
  DirectSchedulerFactory.getInstance().createScheduler(threadPool, jobStore);
  Scheduler operationScheduler = DirectSchedulerFactory.getInstance().getScheduler();
  operationScheduler.start();

您没有理由不能创建一个小型工厂方法来配置线程数量、实例名称、关联日志文件等。这也允许您的代码轻松缩放,并根据需要创建调度程序,而不是手工编辑文件。

票数 4
EN

Stack Overflow用户

发布于 2015-12-02 21:11:20

我认为让多个实例工作的关键是确保将每个实例的名称设置为不同的东西。例如,我知道在配置spring中的多个调度程序时,这可能会导致问题(我认为这反映了石英本身中相同的潜在问题。有关详细信息,请参阅本春季论坛帖子:

http://forum.spring.io/forum/spring-projects/container/32312-multiple-quartz-schedulerfactorybean-instances

票数 1
EN

Stack Overflow用户

发布于 2018-08-08 22:39:44

在非Spring环境中,您应该使用不同的StdSchedulerFactory值创建两个org.quartz.scheduler.instanceName实例。就像这样:

代码语言:javascript
复制
Properties config1 = new Properties();
Properties config2 = new Properties();

config1.setProperty("org.quartz.scheduler.instanceName", "Scheduler1");
config2.setProperty("org.quartz.scheduler.instanceName", "Scheduler2");

Scheduler scheduler1 = new StdSchedulerFactory(config1).getScheduler();
Scheduler scheduler2 = new StdSchedulerFactory(config2).getScheduler();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27965661

复制
相关文章

相似问题

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