1.下载Quartz
将quartz放到 yourappl/WEB-INF/lib 里面。
2.配置web.xml,启动Quartz服务.
在 yourappl/WEB-INF/web.xml 里添加以下内容。
<servlet>
<servlet-name>QuartzInitializer</servlet-name>
<display-name>Quartz Initializer Servlet</display-name>
<servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
3.配置您的任务文件 quartz_reminder.xml ,建立job 和 trigger.
在 yourappl/WEB-INF/web.xml 里新建文件 quartz_reminder.xml
以下例子建立两个日程安排,一个是每隔15分钟执行scheduling.QuartzEmail任务,
一个是星期1-5 8:30AM执行scheduling.QuartzDailyReminder任务。您可以自建QuartzEmail.class,QuartzDailyReminder.class放置在 yourappl/WEB-INF/classes/scheduling 里进行测试。
注意一个日程是由一个job和一个trigger组成,代表任务定义和时间定义。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE quartz PUBLIC
"-//Quartz Enterprise Job Scheduler//DTD Job Scheduling Data 1.0//EN"
"http://www.quartzscheduler.org/dtd/job_scheduling_data_1_0.dtd">
<quartz>
<job>
<job-detail>
<name>Job_Email</name>
<group>DEFAULT</group>
<job-class>scheduling.QuartzEmail</job-class>
</job-detail>
<trigger>
<cron>
<name>Trigger_Email</name>
<group>DEFAULT</group>
<job-name>Job_Email</job-name>
<job-group>DEFAULT</job-group>
<cron-expression>0 0/15 * * * ?</cron-expression>
</cron>
</trigger>
</job>
<job>
<job-detail>
<name>Job_Daily_Reminder</name>
<group>DEFAULT</group>
<job-class>scheduling.QuartzDailyReminder</job-class>
</job-detail>
<trigger>
<cron>
<name>Trigger_Daily_Reminder</name>
<group>DEFAULT</group>
<job-name>Job_Daily_Reminder</job-name>
<job-group>DEFAULT</job-group>
<cron-expression>0 30 8 ? * MON-FRI</cron-expression>
</cron>
</trigger>
</job>
</quartz>
4. 配置 quartz.properties ,建立Quartz实例
在 yourappl/WEB-INF/web.xml 里新建文件 quartz.properties
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
#
# Configure ThreadPool
#
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 4
#
# Configure JobStore
#
org.quartz.jobStore.misfireThreshold = 5000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = /quartz_reminder.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
好了,现在重起jsp服务器,留意logs里面的输出,就可以测试您的日程有无生效了。
分享到:
相关推荐
### Quartz框架快速入门详解 #### 一、Quartz框架简介 Quartz是一个开源的作业调度框架,用于开发Java应用程序。它提供了强大的触发器(Trigger)机制用于关联作业(Job),同时还具备灵活的表达式用于配置定时...
7. **Wiki 文档**:压缩包中的 `quartz-wikidocs` 可能包含了 Quartz 的官方 Wiki 文档,这是一份详尽的参考资料,涵盖了从入门到高级使用的各种主题,包括如何创建作业、配置触发器、使用不同的调度策略等。...
Quartz和Spring-Quartz是两个在Java世界中广泛使用的定时任务管理框架。Quartz是一个开源的作业调度框架,允许应用程序定义和调度任务在特定时间执行。而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring...
在《Quartz入门》文档中,通常会详细讲解如何配置Quartz,包括XML配置、代码配置,以及如何处理并发问题、异常处理和集群部署。确保阅读并理解这些内容,以便更好地在实际项目中应用Quartz。 总之,Quartz是一个...
以下将详细介绍Quartz的使用、Spring配置以及入门指南。 1. **Quartz基础知识** - **任务与触发器**:在Quartz中,任务被称为`Job`,触发器则是`Trigger`。`Job`定义了要执行的操作,而`Trigger`决定了何时执行。 ...
- 使用Servlet容器的上下文参数来配置Quartz,例如在`web.xml`中设置`org.quartz.properties`属性指向配置文件路径。 3. **配置文件** - 配置文件(如`quartz.properties`)是Quartz的核心,用于设定调度器的行为...
SpringBoot集成了众多第三方库,如数据存储(Redis、MongoDB)、消息队列(RabbitMQ)、任务调度(Quartz)等,使得开发者可以快速启动并运行应用,无需繁琐的配置。 SpringBoot的主要优点包括: 1. **快速入门**...
让我们深入探讨这个入门案例,了解如何在Spring应用中设置和使用Quartz。 首先,创建一个Maven工程是必要的,因为Maven是Java开发的标准构建工具,它可以帮助我们管理项目依赖。在`pom.xml`文件中,你需要添加...
Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现任务调度。它提供了高度可配置性,能够创建、调度和执行各种类型的作业,使得开发者可以在不需要人工干预的情况下,按照预定的时间间隔或特定时间执行...
在上述代码中,`QuartzDemo`类是启动定时任务的入口,它创建了一个Job实例和一个Trigger实例,并将它们绑定到Scheduler中。`MyJob`类是我们定义的定时任务,`execute`方法包含了实际需要执行的业务逻辑。 通过这种...
在SpringBoot中,可以通过引入`spring-boot-starter-quartz`或使用`@Scheduled`注解配合`Spring Task`来实现定时任务。这在需要定期执行某些操作,如数据同步、日志清理等场景中非常有用。 总的来说,这个...
- 实现定时任务:使用SpringBoot的Task或Quartz调度任务。 总的来说,`sc.rar`项目是学习SpringBoot的基础,通过实践这个项目,你可以掌握SpringBoot的基本架构和常用特性,为进一步深入学习和开发SpringBoot应用...
Quartz是Java编程领域中的一款强大且灵活的作业调度框架,它允许开发者在应用程序中创建、管理和执行定时任务。...阅读“Quartz如何从入门到精通.doc”文档,将能更详细地了解Quartz的使用方法和实战技巧。
1. JFinal快速入门:介绍JFinal的基本结构和核心概念。 2. 源码解析:深入讲解JFinal的内部实现,帮助理解其工作原理。 3. CRUD操作:演示如何进行增删改查操作,包括数据库模型的定义和映射。 4. 视图渲染:展示...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,让开发者能够“零配置”地启动项目。本教程将带你快速入门 Spring Boot,为你的 Java 开发之旅提供便利。 首先,我们需要一个合适的...
- **定时任务**:通过 `@Scheduled` 注解或使用 Quartz 等框架实现定时任务。 - **同步与并发控制**:利用 Spring Boot 的并发工具和框架实现线程安全的应用开发。 - **多环境配置**:通过配置文件或 `@Profile` ...
SpringBoot并非Spring框架的替代品,而是旨在简化Spring应用的初始搭建以及开发过程,它集成了大量常用的第三方库配置,如Redis、MongoDB、JPA、RabbitMQ、Quartz等,使得这些第三方库几乎可以零配置地开箱即用。...
- **定时任务与重试策略**:SpringBoot内置了Quartz或Spring Scheduler等框架,可用来创建定时任务。同时,通过配置可以实现失败任务的重试策略。 2. **Zookeeper与Dubbo微服务**: - **Zookeeper**:Zookeeper是...
- **任务调度**: Quartz(强大的任务调度库)。 - **持久层框架**: MyBatis(ORM框架)。 - **日志管理**: SLF4J + Log4j(日志记录API和实现)。 - **工具类**: Apache Commons、Jackson、Xstream、Dozer、POI等。 ...