`

Spring Quartz 任务调度

阅读更多


关键字: quartz

Quartz 是一个 Java 的定时任务框架 ,使用它可以方便地实现计划任务,即在某个时间或是每隔一定时间运行一个任务。

 

Spring Quartz 类库
spring.jar
quartz-all-1.6.1.jar
log4j-1.2.15.jar
commons-logging.jar
commons-collections.jar

 

简单应用示例

1.启动类

Java代码  收藏代码
package com.wisdombrave.spring.quartz;


import org.springframework.context.ApplicationContext;


import org.springframework.context.support.ClassPathXmlApplicationContext;





public class TestMain {


	public static void main(String[] args) {


		System.out.println("---开始初始化--- ");


		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");


		System.out.println("---完成初始化---");


		


		// 死循环,查看定时高度情况,本例高度为每分钟一次


		while (true) {


			


		}


	}


}

2.Spring上下文配置(applicationContext.xml)

Xml代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?>


<beans xmlns="http://www.springframework.org/schema/beans"


	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"


	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"


	xsi:schemaLocation="http://www.springframework.org/schema/beans


           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd


           http://www.springframework.org/schema/context


           http://www.springframework.org/schema/context/spring-context-2.5.xsd


           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd


           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


    <!-- bean实例 -->       


	<bean id="testQuartz" class="com.wisdombrave.spring.quartz.TestQuartz" />


	


	<!-- bean触发方法配置 -->


	<bean name="quartzBean"


		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">


		<!-- bean名字 -->


		<property name="targetObject" ref="testQuartz" />


		<!-- bean方法 -->


		<property name="targetMethod">


			<value>test</value>


		</property>


		<property name="concurrent">


			<value>false</value>


		</property>


	</bean>


	<!-- bean触发时间配置 -->


	<bean id="quartzTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">


		<!-- 触发bean配置 -->


		<property name="jobDetail">


			<ref bean="quartzBean" />


		</property>


		<!-- 触发时间配置 -->


		<property name="cronExpression">


			<value>0/5 * * * * ?</value>


		</property>


	</bean>





	<!-- quartz触发器管理 -->


	<bean id="sfb"


		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">


		<!-- 添加触发器 -->


		<property name="triggers">


			<list>


				<ref local="quartzTrigger" />


			</list>


		</property>


	</bean>


</beans>

 

 

WEB应用示例

1.调度类(TestQuartz)

Java代码  收藏代码
package com.wisdombrave.spring.quartz;





import java.util.Date;





public class TestQuartz {


	public void test() {


		System.out.println(new Date() + "调用");


	}


}


 2.Spring应用上下文配置 (applicationContext.xml)

Java代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?>


<beans xmlns="http://www.springframework.org/schema/beans"


	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"


	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"


	xsi:schemaLocation="http://www.springframework.org/schema/beans


           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd


           http://www.springframework.org/schema/context


           http://www.springframework.org/schema/context/spring-context-2.5.xsd


           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd


           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


    <!-- 调度的对象 -->       


	<bean id="testQuartz" class="com.wisdombrave.spring.quartz.TestQuartz" />


	<import resource="springQuartz.xml"/>


</beans>

3. Spring资源文件(springQuartz.xml)

Java代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?>


<beans xmlns="http://www.springframework.org/schema/beans"


	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"


	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"


	xsi:schemaLocation="http://www.springframework.org/schema/beans


           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd


           http://www.springframework.org/schema/context


           http://www.springframework.org/schema/context/spring-context-2.5.xsd


           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd


           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">


	<!-- bean触发方法配置 -->


	<bean name="quartzBean"


		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">


		<!-- bean名字 -->


		<property name="targetObject" ref="testQuartz" />


		<!-- bean方法 -->


		<property name="targetMethod">


			<value>test</value>


		</property>


		<property name="concurrent">


			<value>false</value>


		</property>


	</bean>


	


	<!-- bean触发时间配置 -->


	<bean id="quartzTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">


		<!-- 触发bean配置 -->


		<property name="jobDetail">


			<ref bean="quartzBean" />


		</property>


		<!-- 触发时间配置 -->


		<property name="cronExpression">


			<value>0/1 * * * * ?</value>


		</property>


	</bean>





	<!-- quartz触发器管理 -->


	<bean id="sfb"


		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">


		<!-- 添加触发器 -->


		<property name="triggers">


			<list>


				<ref local="quartzTrigger" />


			</list>


		</property>


	</bean>


</beans>


 3.WEB容器配置(web.xml)

Xml代码  收藏代码
<?xml version="1.0" encoding="UTF-8"?>


<web-app version="2.4" 


	xmlns="http://java.sun.com/xml/ns/j2ee" 


	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 


	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 


	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


  <welcome-file-list>


    <welcome-file>index.jsp</welcome-file>


  </welcome-file-list>


  


  <!-- spring -->


	<context-param>


		<param-name>contextConfigLocation</param-name>


		<param-value>classpath:applicationContext.xml</param-value>


	</context-param>


	<listener>


		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>


	</listener>


</web-app>

 

日期规则

"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

分享到:
评论

相关推荐

    spring quartz 任务调度

    Spring框架作为一个全面的企业级应用开发解决方案,提供了强大的任务调度支持,而Quartz则是一个流行的开源作业调度库,能够与Spring很好地集成。现在,我们就来深入探讨"spring quartz 任务调度"这一主题。 首先,...

    Spring quartz任务调度

    标题“Spring quartz任务调度”指的是在Java开发中利用Spring框架集成Quartz库来实现应用程序的任务调度功能。Quartz是一款开源的作业调度框架,它允许开发者安排任务在特定时间执行,而Spring框架则提供了与Quartz...

    Spring Quartz 任务调度实例

    Spring Quartz 是一个强大的任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。结合Spring框架,可以方便地在企业级应用中实现复杂的时间触发逻辑。本实例提供了可以直接运行的任务调度解决方案,既...

    spring quartz任务调度完整可执行

    在Spring的配置文件(如applicationContext.xml)中,我们需要配置SchedulerFactoryBean来启动Quartz调度器: ```xml &lt;bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean...

    spring任务调度(Quartz )

    3. **调度器配置**:`SchedulerFactoryBean`是Spring对Quartz调度器的包装,它管理所有的触发器和任务。在这里,我们将`cron`触发器添加到调度器中,使得任务与触发器关联起来。 接下来,我们看下服务类和服务的...

    Spring整合任务调度框架Quartz

    Spring 整合任务调度框架 Quartz 在软件开发中,任务调度框架是非常重要的一部分,它可以帮助开发者更好地管理和执行各种任务。在 Java 领域中,Quartz 是一个非常流行的任务调度框架,而 Spring 是一个非常流行的 ...

    spring+mybatis+quartz任务调度实例和spring+quartz任务调度实例

    里面包含了两个工程项目: 1.Java project工程(含jar包,JDK1.6)。 是spring+quartz的任务调度实例。 2.Java web工程(含jar包,JDK1.7)。 spring+mybatis+quartz任务调度实例

    Spring+Quartz实现任务调度的小例子

    Spring框架和Quartz是两个广泛使用的工具,它们可以协同工作以实现复杂和灵活的任务调度。本篇文章将深入探讨如何使用Spring与Quartz结合来创建一个任务调度的小例子。 首先,Spring是一个开源的Java企业级应用开发...

    spring+quartz任务调度代码版

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

    Spring quartz定时调度jar包

    通过这种方式,Spring会自动启动Quartz调度器,并根据配置的触发器执行相应的任务。你还可以使用`@Scheduled`注解在方法级别定义定时任务,这是一种更简单的调度方式,适用于简单的场景。 总之,Spring Quartz定时...

    spring 任务调度

    - **Quartz简介**:Quartz是一个开源的作业调度框架,支持复杂的调度策略,如按日期、时间间隔或CRON表达式调度任务。 - **Spring与Quartz集成**:Spring通过`org.springframework.scheduling.quartz`包提供了一种...

    基于Spring Boot的Quartz任务调度系统.zip

    基于Spring Boot的Quartz任务调度系统 项目概述 本项目是一个基于Spring Boot和Quartz的任务调度系统,旨在提供灵活的任务管理和调度功能。系统支持多种任务类型,包括Cron表达式任务和单次时间任务,并提供了丰富...

    Spring quartz 定时任务调度

    Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...

    Quartz任务调度器

    总的来说,Quartz任务调度器与Spring的整合使得我们能够在应用中轻松地实现定时任务的管理,而无需关心任务执行的具体细节。它为开发者提供了一套强大的工具,帮助我们在项目中实现定时任务的自动化,提高系统的运行...

    SpringQuartz的使用文档

    SpringQuartz是一个强大的任务调度框架,它在Java应用程序中用于自动化执行特定任务,如定时生成文件、统计数据或执行后台清理工作。Quartz是开源的,具有高度灵活的调度功能,能够根据预定义的时间表触发任务,同时...

    spring集成quartz 任务调度

    Spring集成Quartz是一款高效的任务调度框架,用于在Java应用程序中执行计划、周期性的任务。Quartz与Spring的结合,使得我们可以充分利用Spring的依赖注入(DI)和AOP特性,简化了任务调度的复杂性。 首先,Quartz...

    Spring实现任务调度

    本篇将深入探讨如何利用Spring进行任务调度,并结合代码演示和Quartz库的使用来丰富这一主题。 首先,Spring提供了两种主要的任务调度机制:Spring内置的`TaskExecution`和`TaskScheduling`以及与Quartz Scheduler...

    spring整合quartz定时任务调度

    Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用中实现复杂的定时任务调度。Quartz是一款开源的作业调度框架,支持丰富的调度策略,可以满足各种定时...

    spring quartz定时任务demo

    在实际使用中,你需要在`applicationContext.xml`中配置SchedulerFactoryBean,通过它来创建和管理Quartz调度器。然后,定义你的Job Bean,并关联Trigger,告诉Quartz何时何地执行这个任务。例如: ```xml ...

Global site tag (gtag.js) - Google Analytics