`

快速入门:用xml启动Quartz任务

阅读更多
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框架简介 Quartz是一个开源的作业调度框架,用于开发Java应用程序。它提供了强大的触发器(Trigger)机制用于关联作业(Job),同时还具备灵活的表达式用于配置定时...

    Quartz 任务调度器

    7. **Wiki 文档**:压缩包中的 `quartz-wikidocs` 可能包含了 Quartz 的官方 Wiki 文档,这是一份详尽的参考资料,涵盖了从入门到高级使用的各种主题,包括如何创建作业、配置触发器、使用不同的调度策略等。...

    quartz和spring-quartz

    Quartz和Spring-Quartz是两个在Java世界中广泛使用的定时任务管理框架。Quartz是一个开源的作业调度框架,允许应用程序定义和调度任务在特定时间执行。而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring...

    Quartz所需jar包

    在《Quartz入门》文档中,通常会详细讲解如何配置Quartz,包括XML配置、代码配置,以及如何处理并发问题、异常处理和集群部署。确保阅读并理解这些内容,以便更好地在实际项目中应用Quartz。 总之,Quartz是一个...

    quartz案例,包括spring配置设置调度器和入门手册

    以下将详细介绍Quartz的使用、Spring配置以及入门指南。 1. **Quartz基础知识** - **任务与触发器**:在Quartz中,任务被称为`Job`,触发器则是`Trigger`。`Job`定义了要执行的操作,而`Trigger`决定了何时执行。 ...

    web环境下Quartz作业调度入门源代码(Jboss)

    - 使用Servlet容器的上下文参数来配置Quartz,例如在`web.xml`中设置`org.quartz.properties`属性指向配置文件路径。 3. **配置文件** - 配置文件(如`quartz.properties`)是Quartz的核心,用于设定调度器的行为...

    25、SpringBoot入门及原理(狂神)

    SpringBoot集成了众多第三方库,如数据存储(Redis、MongoDB)、消息队列(RabbitMQ)、任务调度(Quartz)等,使得开发者可以快速启动并运行应用,无需繁琐的配置。 SpringBoot的主要优点包括: 1. **快速入门**...

    spring整合quartz

    让我们深入探讨这个入门案例,了解如何在Spring应用中设置和使用Quartz。 首先,创建一个Maven工程是必要的,因为Maven是Java开发的标准构建工具,它可以帮助我们管理项目依赖。在`pom.xml`文件中,你需要添加...

    Quarzt 入门

    Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现任务调度。它提供了高度可配置性,能够创建、调度和执行各种类型的作业,使得开发者可以在不需要人工干预的情况下,按照预定的时间间隔或特定时间执行...

    spring 定时器的使用实例

    在上述代码中,`QuartzDemo`类是启动定时任务的入口,它创建了一个Job实例和一个Trigger实例,并将它们绑定到Scheduler中。`MyJob`类是我们定义的定时任务,`execute`方法包含了实际需要执行的业务逻辑。 通过这种...

    SpringBoot-入门级简单源码

    在SpringBoot中,可以通过引入`spring-boot-starter-quartz`或使用`@Scheduled`注解配合`Spring Task`来实现定时任务。这在需要定期执行某些操作,如数据同步、日志清理等场景中非常有用。 总的来说,这个...

    sc.rar一个关于springboot的案例入门项目

    - 实现定时任务:使用SpringBoot的Task或Quartz调度任务。 总的来说,`sc.rar`项目是学习SpringBoot的基础,通过实践这个项目,你可以掌握SpringBoot的基本架构和常用特性,为进一步深入学习和开发SpringBoot应用...

    Quartz.rar_Java编程_Java_

    Quartz是Java编程领域中的一款强大且灵活的作业调度框架,它允许开发者在应用程序中创建、管理和执行定时任务。...阅读“Quartz如何从入门到精通.doc”文档,将能更详细地了解Quartz的使用方法和实战技巧。

    jfinal小木学堂开发环境搭建视频教程源码(jfinal1.9)

    1. JFinal快速入门:介绍JFinal的基本结构和核心概念。 2. 源码解析:深入讲解JFinal的内部实现,帮助理解其工作原理。 3. CRUD操作:演示如何进行增删改查操作,包括数据库模型的定义和映射。 4. 视图渲染:展示...

    玩转spring boot 快速开始(1)

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,让开发者能够“零配置”地启动项目。本教程将带你快速入门 Spring Boot,为你的 Java 开发之旅提供便利。 首先,我们需要一个合适的...

    SpringBoot开发文档综合整理文档

    - **定时任务**:通过 `@Scheduled` 注解或使用 Quartz 等框架实现定时任务。 - **同步与并发控制**:利用 Spring Boot 的并发工具和框架实现线程安全的应用开发。 - **多环境配置**:通过配置文件或 `@Profile` ...

    SpringBoot详解.doc

    SpringBoot并非Spring框架的替代品,而是旨在简化Spring应用的初始搭建以及开发过程,它集成了大量常用的第三方库配置,如Redis、MongoDB、JPA、RabbitMQ、Quartz等,使得这些第三方库几乎可以零配置地开箱即用。...

    微服务架构专题-SpringBoot.pptx

    - **定时任务与重试策略**:SpringBoot内置了Quartz或Spring Scheduler等框架,可用来创建定时任务。同时,通过配置可以实现失败任务的重试策略。 2. **Zookeeper与Dubbo微服务**: - **Zookeeper**:Zookeeper是...

    分布式框架简介SSM组合+ springmvc+mybatis+shiro+restful+bootstrap

    - **任务调度**: Quartz(强大的任务调度库)。 - **持久层框架**: MyBatis(ORM框架)。 - **日志管理**: SLF4J + Log4j(日志记录API和实现)。 - **工具类**: Apache Commons、Jackson、Xstream、Dozer、POI等。 ...

Global site tag (gtag.js) - Google Analytics