`
yaerfeng1989
  • 浏览: 232985 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring结合java Quartz配置实例代码

阅读更多

代码下载地址:http://www.zuidaima.com/share/1787232442715136.htm

原文:Spring结合java Quartz配置实例代码

各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定用户解锁任务。对于一个典型的MIS系统来说,在每月1号凌晨统计上个月各部门的业务数据生成月报表,每半个小时查询用户是否已经有快到期的待处理业务……,这样的例子俯拾皆是,不胜枚举。

    Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。
Spring为创建Quartz的Scheduler、Trigger和JobDetail提供了便利的FactoryBean类,以便能够在Spring 容器中享受注入的好处。此外Spring还提供了一些便利工具类直接将Spring中的Bean包装成合法的任务。Spring进一步降低了使用Quartz的难度,能以更具Spring风格的方式使用Quartz。概括来说它提供了两方面的支持:
    1)为Quartz的重要组件类提供更具Bean风格的扩展类;
    2)提供创建Scheduler的BeanFactory类,方便在Spring环境下创建对应的组件对象,并结合Spring容器生命周期进行启动和停止的动作。
配置文件:

<?xml version=" 1.0 " encoding=" UTF-8 " ?> 
 <! DOCTYPE beans PUBLIC " -//SPRING//DTD BEAN//EN " " http://www.springframework.org/dtd/spring-beans.dtd "> 
 <beans> 
 <!-- 要调用的工作类 --> 
 <bean id=" quartzJob " class=" test.Task "></bean> 
 <!-- 定义调用对象和调用对象的方法 --> 
 <bean id=" jobtask " 
 class=" org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean "> 
 <!-- 调用的类 --> 
 <property name=" targetObject "> 
 <ref bean=" quartzJob " /> 
 </property> 
 <!-- 调用类中的方法 --> 
 <property name=" targetMethod "> 
 <value> work </value> 
 </property> 
 </bean> 
 <!-- 定义触发时间 --> 
 <bean id=" doTime " 
 class=" org.springframework.scheduling.quartz.CronTriggerBean "> 
 <property name=" jobDetail "> 
 <ref bean=" jobtask " /> 
 </property> 
 <!-- cron表达式 --> 
 <property name=" cronExpression "> 
 <value> , , , , , , , , , * * * * ?</value> 
 </property> 
 </bean> 
 <!-- 总管理类 如果将lazy - init=' false ' 那么容器启动就会执行调度程序 --> 
 <bean id=" startQuertz " lazy - init=" false " autowire=" no " 
 class=" org.springframework.scheduling.quartz.SchedulerFactoryBean "> 
 <property name=" triggers "> 
 <list> 
 <ref bean= " doTime " /> 
 </list> 
 </property> 
 </bean> 
 </beans> 

要调度的工作类:

package com.zuidaima.quartz;
public class Task{
 public void work() {
 System.out.println( " Quartz的任务调度! " );
 }
}

主测试文件:

package com.zuidaima.quartz;
public class QuartzTest {
 public static void main(String[] args) {
 System.out.println( " Test start. " );
 ApplicationContext context= new ClassPathXmlApplicationContext( " applicationContext.xml " );
 // 如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化 
 System.out.print( " Test end..\n " );
 }
}


注意:项目中需要加载需要加入spring.jar   quartz-all-1.6.0.jar   log4j-1.2.14.jar   commons-collections.jar   jta.jar   commons-logging.jar这几个包

2
2
分享到:
评论
1 楼 jayung 2014-05-28  
其实spring 3.x之后,就自带任务调度功能了,支持cron表达式,支持注解或配置在properties里,功能同样非常强大。

相关推荐

    Spring + Quartz配置实例(转载)

    标题 "Spring + Quartz配置实例(转载)" 暗示了我们将讨论如何在Java环境中整合Spring框架与Quartz作业调度库的使用。Quartz是一个开源的作业调度库,它允许开发者安排任务以在特定时间执行,而Spring框架则是一个...

    spring的quartz使用实例

    以下是对Spring整合Quartz使用实例的详细说明: 1. **Quartz简介** Quartz是一个强大的、完全开源的作业调度框架,它支持复杂的调度策略,如按日期、时间间隔或自定义表达式执行。Quartz可以在Java应用中作为独立...

    spring2与quartz在Web整合

    Spring 2 和 Quartz 是两个在 Java Web 开发中非常重要的框架。Spring 是一个全面的开源应用框架,提供了依赖注入(DI)、面向切面编程(AOP)以及丰富的数据访问和事务管理功能。Quartz,则是一个功能强大的作业...

    spring-quartz简单实例

    在这个"spring-quartz简单实例"中,我们将探讨如何在Spring环境下配置和使用Quartz。 首先,我们需要引入Quartz和Spring的依赖。在Maven项目中,这通常通过在pom.xml文件中添加以下依赖来完成: ```xml ...

    Spring中Quartz的配置实例

    Quartz是一个开源的作业调度框架,支持集群和多种数据库,可以与Spring完美结合,提供对应用程序的作业调度功能。 Quartz的核心概念包括Job(工作)、Trigger(触发器)和Scheduler(调度器)。Job是需要执行的任务...

    关于spring中quartz的配置

    在Spring配置文件(如`applicationContext.xml`)中,定义`SchedulerFactoryBean`来实例化和配置Quartz Scheduler: ```xml &lt;bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz....

    Spring中Quartz的配置

    其中,对于定时任务的支持,Spring结合了Quartz这一优秀的开源任务调度框架,提供了更为灵活和方便的集成方案。本文将详细介绍如何在Spring项目中配置和使用Quartz,帮助开发者更好地理解和掌握这项技术。 #### 二...

    spring java 定时器 执行两次 quartz

    2. **配置错误**:Spring配置中的`@Scheduled`注解或Quartz配置可能设置了错误的触发策略,使得任务被重复触发。 3. **线程安全**:如果你的任务逻辑不是线程安全的,可能会因为并发执行导致问题。 4. **Spring重启*...

    spring+quartz任务调度代码版

    本项目"spring+quartz任务调度代码版"显然是一个结合了这两者的实践案例,旨在展示如何在Spring环境下集成和使用Quartz进行任务调度。 Spring框架是一个开源的应用框架,它提供了丰富的功能,包括依赖注入、AOP...

    spring-quartz定时任务小实例

    Spring Quartz 是一个强大的...理解以上知识点后,你就可以根据提供的"timedTask项目说明.txt"来配置、运行和测试这个Spring-Quartz的小实例了。记得检查项目中的代码示例和配置文件,以便更好地理解和应用这些概念。

    spring集成quartz集群配置

    在IT行业中,Spring框架是Java应用开发中的基石,而Quartz则是广泛使用的任务调度库,尤其适用于企业级应用。本文将深入探讨如何在Spring环境中集成Quartz以实现集群配置,以便于在分布式环境中进行高效的任务调度。...

    spring+quartz+maven项目实例

    - `src/main/java`:存放Java源代码,包括Spring的配置类、业务逻辑类以及Quartz的作业和触发器实现。 - `src/main/webapp`:如果是Web应用,这里将包含Web相关的资源,如`WEB-INF/web.xml`用于配置Servlet容器。 ...

    quartz和spring-quartz

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

    spring boot + quartz 动态管理 分布式

    这些资源可能包括Quartz的Job类定义、Spring Boot的配置文件(application.properties或application.yml)、数据库模型和迁移脚本、以及用于演示动态管理任务的控制器和服务类代码。开发者可以研究这些文件,了解...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    【Spring中的Quartz配置-Spring-定时器-java定时器】 在Java开发中,Spring框架提供了对定时任务的支持,其中就包括了对Quartz库的集成。Quartz是一款强大的任务调度库,可以用来创建、调度和执行定时任务。下面将...

    spring3.0+quartz-1.6.0定时

    总结起来,"spring3.0+quartz-1.6.0定时"的实现涉及到Spring框架的定时任务支持和Quartz库的结合使用,通过Spring的配置管理Quartz调度器,定义任务和触发器,最后编写具体任务逻辑的Java类。这种组合在实际项目中...

    spring+quartz demo

    Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...

    spring3整合quartz1.8和spring3整合quartz2.2两个版本示例

    4. **创建 JobDetail**:在 Spring 配置文件中,通过 `&lt;bean&gt;` 标签创建 `JobDetail` 实例,指定 Job 类及其属性。 5. **定义 Trigger**:使用 `&lt;bean&gt;` 标签创建 `Trigger`,定义任务触发规则,如触发时间、重复...

    Spring+Quartz2

    Spring 和 Quartz2 是两个在 Java 开发中广泛使用的框架,它们在企业级应用中承担着重要的角色。Spring 是一个全面的、开源的应用框架,而 Quartz2 是一个强大的、开源的作业调度库,常用于实现定时任务。下面我们将...

    Spring整合Quartz定时任务实例

    当Spring与Quartz结合时,可以利用Spring的强大功能来管理和配置Quartz作业,使定时任务的管理变得更加简单和高效。 在Spring 4.2.1.RELEASE版本中,整合Quartz的过程主要涉及以下几个步骤: 1. **添加依赖**:...

Global site tag (gtag.js) - Google Analytics