`
electricwave
  • 浏览: 15789 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

quartz2入门之spring集成配置

阅读更多

一、依赖的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最简单的使用

 

 

0
0
分享到:
评论

相关推荐

    quartz入门例子,spring集成配置使用

    Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考http://www.blogjava.net/baoyaer/articles/155645.html 博客信息 看此代码,项目里分为两大块,com文件夹下 为上面博客相关学习...

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

    3. **Quartz入门** - **创建Job类**:你需要创建一个实现了`org.quartz.Job`接口的类,这个类定义了具体要执行的任务。 - **定义Trigger**:你可以选择不同的`Trigger`类型,如SimpleTrigger或CronTrigger,来决定...

    quartz和spring-quartz

    而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring应用中使用Quartz变得更加方便。 Quartz的核心概念包括Job(作业)、Trigger(触发器)和Calendar(日历)。Job是实际要执行的任务,Trigger定义了Job...

    Quartz入门学习(真丶入门)

    在提供的压缩包中,可能包含了Quartz的官方文档、示例代码以及如何将Quartz与Spring集成的指南。通过深入阅读这些资料,你可以更全面地了解Quartz的功能和用法,进一步提升你的定时任务管理能力。 总的来说,Quartz...

    camel集成spring的各种案例

    camel集成spring的各种案例,如:jetty、file、activemq、ftp、http、log、并行、分支、发送邮件、接收邮件、seda队列、timer定时器、netty4、quartz2定时器、zookeeper操作,只是简单案例,方便学习, 适合入门和...

    Spring Boot 教程、技术栈示例代码,快速简单上手教程。

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、RabbitMQ、Quartz 等,使得开发者可以“零配置”地启动项目,极大地提高了开发效率。 **1. Spring Boot 的核心特性** - **自动配置**:Spring Boot 通过扫描...

    quartz-2.1.6.zip

    在Spring框架中集成Quartz,可以方便地创建和管理定时任务,使得开发者无需关注底层调度逻辑,专注于业务逻辑的实现。"quartz-2.1.6.zip"这个压缩包包含了使用Quartz在Spring中构建定时任务所需的各种组件和文档。 ...

    spring入门经典

    《Spring入门经典》这本书是Java开发者入门Spring Framework的理想选择,它深入浅出地阐述了Spring的核心概念和技术。Spring Framework作为Java开发领域的主流框架,它的应用广泛且功能强大,旨在简化企业级应用程序...

    spring boot 入门项目

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速地创建出独立的、生产级别的基于 Spring 的应用。 入门Spring Boot,首先需要了解其核心概念: 1. **起步依赖...

    Quartz 框架快速入门

    本篇文章将带你快速入门Quartz框架,了解如何在Spring中集成Quartz以及创建和执行Job。 首先,要使用Quartz框架,你需要在项目中引入必要的库文件。主要依赖的JAR是quartz-&lt;version&gt;.jar,此外,由于Quartz可能需要...

    分布式调度框架quartz从入门到精通

    比如Quartz具有与Spring的天然集成,但缺乏友好的管理界面。Xxl-Job和Elastic-Job则分别由许雪里和当当网开发,它们提供了更现代的管理和监控界面,但可能对老旧代码库的支持不足。淘宝的TBSchedule虽然已经停止维护...

    spring整合quartz

    这个入门案例展示了Spring与Quartz的简单集成,包括两种创建JobDetail的方法。然而,实际应用中,你可能需要考虑更多因素,如任务持久化、集群支持、异常处理等。记得根据你的需求调整配置,并确保在生产环境中使用...

    quartz入门共3页.pdf.zip

    通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。

    Srping Quartz 资料多多

    "Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...

    spring boot入门demo

    它集成了大量的常用第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在“Spring Boot 入门 Demo”中,我们将探讨以下几个...

    spring快速入门教程

    6. **集成其他框架**:Spring可以方便地与众多第三方框架集成,如Struts、Hibernate、MyBatis、Quartz等,增强了其在企业级应用中的适用性。 在这个快速入门教程中,你将学习如何设置Spring环境,创建第一个Spring...

    Quartz Scheduler入门

    在实际项目中,Quartz Scheduler可以与Spring框架结合使用,简化配置和管理。Spring的`@Scheduled`注解提供了更简洁的定时任务声明方式,而Quartz则提供了更强大的定制能力。 总结,Quartz Scheduler是一个功能强大...

    Spring Boot 入门程序

    它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者可以快速地创建一个独立运行的、生产级别的基于 Spring 的应用。 在开始深入 Spring Boot 之前,我们先理解一些基本概念...

    spring 定时器的使用实例

    在Spring框架中,定时任务是应用开发中常见需求,例如执行定期备份、数据同步或清理等操作。...你可以通过查阅这些代码来进一步了解Spring集成Quartz的具体实现细节,并根据自己的需求进行调整和扩展。

Global site tag (gtag.js) - Google Analytics