一、依赖的jar包
quartz-2.2.1.jar
quartz-jobs-2.2.1.jar
c3p0-0.9.1.jar (通过数据库存储定时任务时,需要用到)
slf4j-api-1.7.2.jar (日志相关)
maven配置
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
二、XML配置
新建文件spring-context-quartz.xml,并把文件加入到spring配置文件中:
<import resource="spring-context-quartz.xml"/>
spring-context-quartz.xml主要由三部分组成:
JobDetail:这里使用了MethodInvokingJobDetailFactoryBean,不再需要实现Job接口,普通的JavaBean
Trigger:这里使用了CronTrigger,通过时间表达式来执行任务,非常灵活,这里就不再多介绍了
Scheduler:调度器,按Trigger配置时间点来执行JobDetail配置的方法
<!-- 省略头部schema部分 --> <!-- job的配置开始 --> <bean id="jobDetail1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="myJob" /> </property> <property name="targetMethod"> <value>checkJob1</value> </property> </bean> <bean id="jobDetail2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="myJob" /> </property> <property name="targetMethod"> <value>checkJob2</value> </property> </bean> <!-- job的配置结束 --> <!-- 启动触发器的配置开始 --> <bean id="jobTrigger1" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobDetail1" /> </property> <property name="cronExpression"> <!-- 每天凌晨2点触发 --> <value>0 0 2 * * ?</value> </property> </bean> <bean id="jobTrigger2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobDetail2" /> </property> <property name="cronExpression"> <!-- 每隔1小时执行一次 --> <value>0 0 0/1 * * ?</value> </property> </bean> <!-- 启动触发器的配置结束--> <!-- 调度的配置开始 --> <bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="jobTrigger1" /> <ref bean="jobTrigger2"/> </list> </property> </bean> <!-- 调度的配置结束 -->
三、Java类
第二步中使用了MethodInvokingJobDetailFactoryBean来配置JobDetail,所以Java类不需要再实现Job接口的execute方法,普通的Java bean即可:
@Component("myJob") public class MyJob { public void checkJob1(){ //TODO } public void checkJob2(){ //TODO } }
附上quartz-2.2.1相关的jar包下载,或者从quartz官网下载其他版本
http://www.quartz-scheduler.org/downloads
下一篇将介绍quartz2最简单的使用
相关推荐
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考http://www.blogjava.net/baoyaer/articles/155645.html 博客信息 看此代码,项目里分为两大块,com文件夹下 为上面博客相关学习...
3. **Quartz入门** - **创建Job类**:你需要创建一个实现了`org.quartz.Job`接口的类,这个类定义了具体要执行的任务。 - **定义Trigger**:你可以选择不同的`Trigger`类型,如SimpleTrigger或CronTrigger,来决定...
而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring应用中使用Quartz变得更加方便。 Quartz的核心概念包括Job(作业)、Trigger(触发器)和Calendar(日历)。Job是实际要执行的任务,Trigger定义了Job...
在提供的压缩包中,可能包含了Quartz的官方文档、示例代码以及如何将Quartz与Spring集成的指南。通过深入阅读这些资料,你可以更全面地了解Quartz的功能和用法,进一步提升你的定时任务管理能力。 总的来说,Quartz...
camel集成spring的各种案例,如:jetty、file、activemq、ftp、http、log、并行、分支、发送邮件、接收邮件、seda队列、timer定时器、netty4、quartz2定时器、zookeeper操作,只是简单案例,方便学习, 适合入门和...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,极大地提高了开发效率。 **1. Spring Boot 的核心特性** - **自动配置**:Spring Boot 通过扫描...
在Spring框架中集成Quartz,可以方便地创建和管理定时任务,使得开发者无需关注底层调度逻辑,专注于业务逻辑的实现。"quartz-2.1.6.zip"这个压缩包包含了使用Quartz在Spring中构建定时任务所需的各种组件和文档。 ...
《Spring入门经典》这本书是Java开发者入门Spring Framework的理想选择,它深入浅出地阐述了Spring的核心概念和技术。Spring Framework作为Java开发领域的主流框架,它的应用广泛且功能强大,旨在简化企业级应用程序...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建出独立的、生产级别的基于 Spring 的应用。 入门Spring Boot,首先需要了解其核心概念: 1. **起步依赖...
本篇文章将带你快速入门Quartz框架,了解如何在Spring中集成Quartz以及创建和执行Job。 首先,要使用Quartz框架,你需要在项目中引入必要的库文件。主要依赖的JAR是quartz-<version>.jar,此外,由于Quartz可能需要...
比如Quartz具有与Spring的天然集成,但缺乏友好的管理界面。Xxl-Job和Elastic-Job则分别由许雪里和当当网开发,它们提供了更现代的管理和监控界面,但可能对老旧代码库的支持不足。淘宝的TBSchedule虽然已经停止维护...
这个入门案例展示了Spring与Quartz的简单集成,包括两种创建JobDetail的方法。然而,实际应用中,你可能需要考虑更多因素,如任务持久化、集群支持、异常处理等。记得根据你的需求调整配置,并确保在生产环境中使用...
通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。
"Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...
它集成了大量的常用第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在“Spring Boot 入门 Demo”中,我们将探讨以下几个...
6. **集成其他框架**:Spring可以方便地与众多第三方框架集成,如Struts、Hibernate、MyBatis、Quartz等,增强了其在企业级应用中的适用性。 在这个快速入门教程中,你将学习如何设置Spring环境,创建第一个Spring...
在实际项目中,Quartz Scheduler可以与Spring框架结合使用,简化配置和管理。Spring的`@Scheduled`注解提供了更简洁的定时任务声明方式,而Quartz则提供了更强大的定制能力。 总结,Quartz Scheduler是一个功能强大...
它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在开始深入 Spring Boot 之前,我们先理解一些基本概念...
在Spring框架中,定时任务是应用开发中常见需求,例如执行定期备份、数据同步或清理等操作。...你可以通过查阅这些代码来进一步了解Spring集成Quartz的具体实现细节,并根据自己的需求进行调整和扩展。