首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring 3的动态作业调度

使用Spring 3的动态作业调度
EN

Stack Overflow用户
提问于 2012-08-28 15:52:18
回答 1查看 7.7K关注 0票数 5

我已经开发了一个网络爬虫,爬行以启动URL作为种子参数。如果可能的话,我希望允许用户根据作业来安排此任务。

目前我正在使用Spring 3.1.2Hibernate。我需要给用户一个前端,它接收cronJob参数,并在此基础上运行爬虫。可以用弹簧来做吗。

我读了一些关于Quartz的文章,但是在SO或其他网站上的文章一点也不清楚,或者它们不完整,以便充分理解如何在春季实现调度器。

我知道它有三个基本要素

  1. SchedulerFacotry
  2. 触发器
  3. 作业(服务运行)

我希望有人能指引我正确的方向。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-28 15:59:16

石英调度器正是适合这项工作的工具。由于某种原因,几乎所有的教程都集中在用XML定义启动时的作业,而Quartz完全能够在运行时调度作业。

您可以并且应该利用Spring来启动Quartz Scheduler,但是您可以通过代码直接与它交互。下面是一个简单的示例from the documentation

代码语言:javascript
复制
JobDetail job = newJob(SimpleJob.class)
    .withIdentity("job1", "group1")
    .build();

CronTrigger trigger = newTrigger()
    .withIdentity("trigger1", "group1")
    .withSchedule(cronSchedule("0/20 * * * * ?"))
    .build();

scheduler.scheduleJob(job, trigger);

在这里,您定义了一个作业(要运行的Java代码段),触发器(当要运行它时,用户可以提供任何有效的CRON表达式),并通过调度它来包装它。调度器实例可以通过Spring注入。弹簧也将处理适当的关机。

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

https://stackoverflow.com/questions/12163028

复制
相关文章

相似问题

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