使用 Quartz 和 Hibernate 的实时作业调度 Web 应用程序

Real time Job Scheduling web application using Quartz with Hibernate

我是 Quartz 的初学者。我的要求是 this.I 已经创建了 java web application.there 一些任务存储在数据 base.To 与我使用休眠查询的数据库通信 language.There 数据库中有很多作业存储 table 是 运行.

工作table

职位名称 运行日期 状态

1.createUsers | 2015/5/13 下午 1.30 |时间表

2.UpdateUsers | 2015/5/13 上午 10 点 |时间表

我想为作业实现作业侦听器并在确切日期执行作业 come.I 已经阅读了互联网上提供的一些文章,但不太清楚 me.I 想知道如何才能我 运行 一个作业侦听器不时检查作业是否准备好执行如果准备好将使用 HQL 和 运行 作业获取数据。欣赏你的想法。

您不需要时不时地检查作业是否准备就绪并需要执行。这就是 Quartz 的用武之地。

情况 1:当作业已知何时执行时
在这种情况下,您可以使用 Mkyong tutorial

中提到的 cron 触发器

情况 2:当作业执行时间是动态的,即在时间之前不知道。
在这种情况下,您需要在 java class 中自动装配调度程序(或从 spring 应用程序上下文获取)。您可以通过使用自定义作业在调度程序上调用 scheduleJob() 方法来动态安排作业。 Mkyong tutorial.

对于每个计划的作业,都会有一个具有触发键的触发器,您可以在 Quartz 调度程序实例上使用 unscheduleJob(triggerKey) 取消计划。

一旦您知道某个作业需要在特定时间 运行,您就可以使用 Quartz 调度程序来安排该作业。 Quartz 调度程序将负责在预定时间执行作业。

注意:- Quartz 依赖项中的触发器和作业 bean classes 因版本而异。适当修改

我终于找到了一篇好文章,让我们知道如何在 dynamically.The 中使用石英进行凝乳操作上面发布的答案也很好,但问题是所有作业的创建和执行都是静态的 way.but 我的要求是作业应该动态创建 way.This article 将帮助您了解我们如何在 运行 time.All 学分中创建执行删除作业转到文章作者:)。我分享这篇文章是因为很多人都在寻找那种东西,但这篇文章并不多 popular.here 是我遵循的步骤。

  1. 创建用于存储作业详细信息的数据库。

    原因是每次我们重新启动服务器时,我们的作业都不会被丢弃。

  2. 从数据库中获取存储的作业并将每个作业分配给石英作业调度程序。

  3. 配置 Spring 框架以连续执行 PersistentJobSchedulerJob class.

    希望这对某人有所帮助。