`
prodream
  • 浏览: 106270 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring中的Quartz配置

阅读更多
    Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz。

     

    首先我们来写一个被调度的类: package com.kay.quartz;

  1. public class QuartzJob  
  2. {  
  3.     public void work()  
  4.     {  
  5.     System.out.println("Quartz的任务调度!!!");  
  6.     }  

Spring的Quartz配置文件:

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> 
  3.  
  4. <beans>      
  5.         <!-- 要调用的工作类 --> 
  6.         <bean id="quartzJob" class="com.kay.quartz.QuartzJob"></bean> 
  7.         <!-- 定义调用对象和调用对象的方法 --> 
  8.         <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
  9.             <!-- 调用的类 --> 
  10.             <property name="targetObject"> 
  11.                 <ref bean="quartzJob"/> 
  12.             </property> 
  13.             <!-- 调用类中的方法 --> 
  14.             <property name="targetMethod"> 
  15.                 <value>work</value> 
  16.             </property> 
  17.         </bean> 
  18.         <!-- 定义触发时间 --> 
  19.         <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
  20.             <property name="jobDetail"> 
  21.                 <ref bean="jobtask"/> 
  22.             </property> 
  23.             <!-- cron表达式 --> 
  24.             <property name="cronExpression"> 
  25.                 <value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value> 
  26.             </property> 
  27.         </bean> 
  28.         <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  --> 
  29.         <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
  30.             <property name="triggers"> 
  31.                 <list> 
  32.                     <ref bean="doTime"/> 
  33.                 </list> 
  34.             </property> 
  35.         </bean> 
  36.       
  37. </beans>测试程序:  
  38. package com.kay.quartz;  
  39. import org.springframework.context.ApplicationContext;  
  40. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  41.  
  42. public class MainTest  
  43. {  
  44.     /**  
  45.      * @param args  
  46.      */  
  47.     public static void main(String[] args)  
  48.     {  
  49.         System.out.println("Test start.");  
  50.         ApplicationContext context = new ClassPathXmlApplicationContext("quartz-config.xml");  
  51.         //如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化  
  52.         //context.getBean("startQuertz");  
  53.         System.out.print("Test end..");        
  54.     }  
来源:http://developer.51cto.com/art/200906/131888.htm
分享到:
评论

相关推荐

    关于spring中quartz的配置

    以下将详细介绍如何在Spring中配置Quartz以及相关知识点。 1. **引入依赖** 在开始配置之前,首先需要在项目的`pom.xml`或`build.gradle`文件中引入Quartz和Spring相关的依赖库。对于Maven项目,可以添加如下依赖...

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

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    Spring中Quartz的配置

    在这段配置中,首先定义了要执行的任务对象`quartzJob`,然后通过`MethodInvokingJobDetailFactoryBean`指定了要执行的对象和方法。接着定义了触发器`doTime`,并通过`CronTriggerBean`设置了具体的触发时间。最后...

    spring-quartz配置

    spring-quartz的标准配置文件

    Spring + Quartz配置实例(转载)

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

    spring+quartz demo

    在 Spring 配置中,可以使用 `&lt;bean&gt;` 标签创建 JobDetail 实例,并关联 Job 类。 3. **Trigger 配置**: Trigger 决定了 Job 的执行时间。可以使用 CronTrigger 或 SimpleTrigger,前者基于 Cron 表达式,后者...

    转:spring多个定时任务quartz配置

    本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...

    Spring Quartz如何动态配置时间

    在本文中,我们将讨论如何使用 Spring Quartz 实现动态配置时间,并提供了详细的实现步骤和实践经验。 动态配置时间的目的 在实际应用中,任务的执行时间往往需要根据业务需求进行动态调整,以满足不同的需求场景...

    spring 集成quartz 用数据库实现quartz的集群

    在Maven或Gradle的配置文件中,我们需要引入Quartz库以及Spring对Quartz的支持库。这些库将包含所有必要的类和接口,如`Scheduler`, `Job`, `Trigger`等,用于定义和管理定时任务。 接下来,配置Quartz。在Spring的...

    spring集成quartz集群配置

    这里,`myDS`是数据源的名称,需要与Spring配置中的`dataSource`引用匹配。 当多个Quartz节点在相同的数据库上运行时,它们会形成一个集群。每个节点都可以独立地调度和执行任务,而不会冲突。如果某个节点故障,...

    quartz和spring-quartz

    学习Quartz和Spring-Quartz,不仅需要理解它们的基本概念,还要掌握如何在实际项目中进行配置和使用。例如,创建一个定时任务,你需要定义Job类,配置Trigger,然后在Spring的配置文件中设置Scheduler。此外,熟悉...

    spring-quartz定时设置详细说明

    2. 配置 Quartz:在 Spring 的配置文件(如 `application.properties` 或 `application.yml`)中,可以设置 Quartz 的基本属性,如线程池大小、作业存储策略等。 ```properties # application.properties 示例 ...

    Java_Spring与Quartz的整合

    - 在Spring配置中,使用`&lt;bean&gt;`标签定义Trigger,并关联Job。 4. **启动Scheduler** - 在Spring应用启动时,通过`SchedulerFactoryBean`的`start()`方法启动Scheduler,开始监控并执行Job。 5. **动态管理Job**...

    Spring_QuartZDemo

    此外,Quartz还支持JobGroup(任务组)、TriggerGroup(触发器组)、JobDataMap(用于传递Job执行时的参数)等功能,这些都可以在Spring的配置中灵活运用。通过学习Spring_QuartZDemo,你可以掌握这些高级特性的用法...

    springboot整合quartz定时任务yml文件配置方式

    以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...

    spring+quartz使用jar包

    在Spring中配置好数据库连接,Quartz会自动处理这部分。 8. **lib目录下的jar包**:在“lib”目录下,通常会包含Spring和Quartz的jar文件,以及它们的依赖库。例如,`spring-context.jar`、`spring-beans.jar`、`...

    Quartz2.2.1基于Spring注解方式配置Quartz

    本文将详细介绍如何在Spring环境中使用注解方式配置Quartz。 1. **引入依赖** 在项目中,你需要引入Quartz和Spring的相应依赖。在Maven的pom.xml文件中,添加以下依赖: ```xml &lt;groupId&gt;org.quartz-scheduler...

    Spring+quartz相关jar包.rar

    2. 配置 Scheduler:在 Spring 配置文件中,设置 Quartz 的 SchedulerFactoryBean,指定数据库存储(如果需要持久化任务信息)和相关的配置属性。 3. 定义 Job 和 Trigger:创建 Quartz 作业类(Job),实现 org....

    spring3配置quartz定时任务

    本文将详细介绍如何在Spring 3中配置Quartz来实现定时任务。 首先,理解定时任务的基本概念。定时任务是在指定时间点或按照一定规律自动执行的任务,这在业务系统中非常常见,例如数据清理、报表生成等。Quartz提供...

    spring 配置quartz需要的jar包

    在Java开发中,Spring框架与Quartz库的集成可以实现灵活且强大的定时任务管理。Spring提供了与Quartz的无缝整合,...同时,注意在生产环境中,可能还需要考虑集群环境下的Quartz配置,确保任务的正确执行和避免冲突。

Global site tag (gtag.js) - Google Analytics