`

Quartz定时任务的实现及详解

    博客分类:
  • java
阅读更多
Quartz定时任务的实现及详解


平常工作中经常遇到写定时任务的,这次做一次记录和解析分享给大家,共同学习进步,遇到写的不对的地方也请大家指教

用例:比如每天凌晨我们要让系统定时执行一些耗费服务器的事情,或者其他的一些定时任务

相关的jar包在附件,如有需要自行下载

1、首先怎么启动这个Quartz呢?
在项目启动的时候,让web.xml读取我们的定时器配置文件,如下所示


	<param-name>contextConfigLocation</param-name>
		<param-value>
		/WEB-INF/config/quartz.xml//是我们配置定时任务的文件
                //...等等其他任务
	</param-value>


2、接着再来看一下我们的quartz.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	//<!-- 时间调度属性配置文件 -->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>WEB-INF/config/quartz.properties</value><!--如果定时任务较多,可以在这里开辟一个配置文件来统一管理时间-->
			</list>
		</property>
	</bean>
	
	//<!--如果targetObject中引用的类在struts.xml或者其他地方没有配置的时候可以在本xml配置,就像这样-->
	<!--<bean id="refreshCacheJob" class="com.xxx.web.job.impl.refreshCacheJob"></bean>-->
	<bean id="mobileSearchJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
	       <property name="targetObject" ref="refreshCacheJob"/>
//<!--目标对象(任务要在哪个类中执行,可以直接在ref里面引用配置文件中的别名)-->
	       <property name="targetMethod" value="execute"/>
 //<!--要执行目标对象里的什么方法-->
	       <property name="concurrent" value="false"/>
//<!--concurrent==false 任务不并行(即当第一个任务还没有执行完,此时第二个任务触发要等到第一个执行完毕才会执行第二个)-->
	</bean> 
	<bean id="mobileSearchTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
//<!--有corn与simple触发器两种-->
       <property name="jobDetail" ref="mobileSearchJob"/>
//<!--要触发的任务-->  
       <property name="cronExpression" value="${mobileReset_time}"/>
//<!-- corn表达式(引用型)每隔3分钟触发一次 -->  
	  <!-- <property name="cronExpression" <value>0 0 2 * * ?</value>/>-->//<!--直接corn表达式的值-->
	</bean> 

	//<!-- 控制器类 -->
	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="mobileSearchTrigger" />
				//..引用其他的定时任务
			</list>
		</property>
	</bean> 
</beans>


3、最后就是我们具体的实现了,就是一个普通类
package com.xxx.db.quartz;
import com.fuiou.fwp.db.mapper.TUappOrderAcqMapper;

public class refreshCacheJob {
	public void doSearch(){//具体的任务实现的方法
		//
	}
}
0
0
分享到:
评论

相关推荐

    Quartz定时任务表达式

    ### Quartz定时任务表达式详解 在探讨Quartz定时任务表达式的使用之前,我们先了解下Quartz是什么。Quartz是一个开源的作业调度框架,能够触发在指定时间运行的任务,广泛应用于Java应用程序中进行定时任务的管理。...

    基于SSM+quartz的定时任务管理demo

    【SSM+Quartz 定时任务管理Demo详解】 在Java Web开发中,定时任务是一项常见且重要的功能,用于执行一些周期性或者特定时间点的任务,例如数据统计、备份、清理等。本Demo以"基于SSM+quartz的定时任务管理"为主题...

    定时任务quartz及教程

    Quartz是Java领域中广泛应用的一款开源的作业调度框架,它允许开发者在应用程序中安排复杂的定时任务。本教程将深入探讨Quartz的核心概念、配置、API使用以及如何在实际项目中集成和管理定时任务。 一、Quartz核心...

    Quartz定时任务详解

    Quartz定时任务详解 Quartz 是一个功能齐全的开源作业调度系统,可以用于从最小的应用程序到大型企业系统。Quartz 非常灵活,包含多个可以单独或一起使用的使用范例,以实现您想要的行为,并使您能够以对您的项目最...

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

    在Spring Boot应用中整合Quartz定时任务是一种常见的需求,它可以帮助我们执行周期性的后台任务,如数据同步、报表生成等。Spring Boot与Quartz的结合提供了便捷的配置方式,特别是通过YAML(YAML Ain't Markup ...

    Spring集成Quartz定时任务框架介绍和Cron表达式详解

    总之,通过Spring集成Quartz定时任务框架,我们可以轻松实现复杂的工作调度。理解并熟练运用Cron表达式,能帮助我们更加精确地控制任务的执行时机,从而提升应用的自动化程度和效率。在实际开发中,可以根据项目需求...

    java quartz详解

    Quartz 是一款开源的作业调度框架,可以用来实现各种定时任务的需求。它提供了一种简单的方式来定义触发器(Trigger),用于设定作业(Job)何时运行。Quartz 的灵活性很高,并且支持多种类型的触发器,包括简单的...

    spring_quartz_定时任务

    《Spring与Quartz实现定时任务详解》 在Java开发中,定时任务的处理是一项重要的功能,它能够按照预设的时间规律自动执行特定的任务,比如数据同步、报表生成等。Spring框架,作为Java企业级应用的基石,提供了丰富...

    springboot 定时任务加layui的界面版

    综上所述,将SpringBoot的Quartz定时任务与Layui界面结合,不仅可以实现后台任务的自动化,还可以提供直观的管理界面,极大地提高了工作效率。在具体实施过程中,要注意各个组件的正确配置和调用,以及充分考虑系统...

    Spring集成Quartz定时任务框架介绍.docx

    ### Spring集成Quartz定时任务框架介绍 #### 一、引言 在现代JavaEE应用程序开发过程中,定时任务是一项常见的需求。这些任务可能包括但不限于:每天固定时间生成报表、定期清理缓存、定时发送邮件提醒等。传统的...

    spring+quartz 动态任务方案

    Quartz 则是一款强大的作业调度框架,它允许开发者在 Java 应用中实现定时任务的调度功能。通过将两者结合使用,可以更好地管理定时任务,并充分利用 Spring 的特性。 #### 二、Spring与Quartz的整合概述 整合 ...

    详解Spring整合Quartz实现动态定时任务

    * Spring框架中定时任务的实现方法有多种,包括使用Spring自带的轻量级定时任务实现和整合Quartz框架来实现动态定时任务。 * Quartz框架是一个功能强大且灵活的定时任务实现框架,具有高可靠性和高灵活性的特点。 * ...

    基于Quartz定时调度任务(详解)

    基于Quartz定时调度任务(详解) Quartz是一个开源的Job Scheduling系统,可以与J2EE与J2SE应用程序相结合,也可以单独使用。Quartz提供了强大的定时执行任务的功能,可以根据不同的触发器配置来执行不同的任务。 ...

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

    【Spring集成Quartz定时任务与数据库实现集群详解】 在企业级应用中,定时任务的管理是必不可少的一部分,Spring框架提供了与Quartz的集成,使得我们可以方便地创建和管理定时任务。Quartz是一款强大的、开放源代码...

    spring 定时任务配置详解

    Spring 定时任务配置详解 Spring 框架提供了对定时调度服务的内置支持类,支持从 JDK 1.3 开始内置的 Timer 类和 Quartz Scheduler。开发者可以通过 FactoryBean,分别指向 Timer 或 Trigger 实例的引用进行配置。...

    Spring定时任务的几种实现

    ### Spring定时任务的几种实现 #### 一、定时任务实现技术分类 在Spring框架中,实现定时任务的主要技术方案有三种: 1. **Java自带的`java.util.Timer`类**:这种实现方式允许用户调度一个`java.util.TimerTask`...

    定时任务操作quartz

    #### 二、搭建Quartz定时任务系统 在实际开发过程中,Quartz的集成主要涉及数据库表结构的设计、配置文件的编写以及Spring框架下的整合等几个关键步骤。 ##### 1. 数据库表结构设计 根据提供的信息`tables_mysql_...

    spring定时任务配置详解.doc

    总结起来,这个例子展示了如何在Spring中配置Quartz定时任务,包括定义任务细节、触发器以及调度器。通过这样的配置,你可以创建复杂的定时任务调度,满足不同业务需求。需要注意的是,实际项目中,为了更好地管理...

    C#定时调度任务服务

    其设计灵感来源于Java的Quartz项目,提供了强大的定时任务管理和并发处理能力。Quartz.NET通过Job和Trigger的概念,实现了任务(Job)和触发器(Trigger)的解耦,使得我们可以灵活地定义任务执行的时机和频率。 接...

    Spring Boot中的@Scheduled注解:定时任务的原理与实现

    相比于传统的Java Timer或者第三方定时任务库如Quartz等,`@Scheduled`提供了更为简洁和易于集成的方式来实现定时任务的需求。 **2.2 实现原理** `@Scheduled`注解的实现原理主要依赖于Spring框架的任务调度机制。...

Global site tag (gtag.js) - Google Analytics