`

quartz小例子

 
阅读更多

1.jar包

 

2.业务实现类 继承Job接口

public class TestJob implements Job {

	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		// TODO Auto-generated method stub

		System.out.println("Happy everyDay--"+new Date());
	}

}

 3.通过quartz调用业务实现类,实习定时器功能

package test.fjxhx.job;

import org.quartz.CronScheduleBuilder;
import org.quartz.CronTrigger;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class CronRunner {

	public static void main(String[] args) {
		try {
			
			JobDetail jobdetail =JobBuilder.newJob(TestJob.class).withIdentity("myjob", "job-group").build();
			CronTrigger cronTrigger=TriggerBuilder.newTrigger().withIdentity("cronTrigger", "trigger-group").withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")).build();  
	        SchedulerFactory sFactory=new StdSchedulerFactory();  
	        Scheduler scheduler=sFactory.getScheduler();  
	        scheduler.scheduleJob(jobdetail, cronTrigger);
	        
	        scheduler.start();  
	        Thread.sleep(20000);// 等待20秒  
	        scheduler.shutdown();// 关闭调度程
	        
		} catch (Exception e) {
			// TODO: handle exception
		}

	}
}

 

 

克隆表达式

一个克隆表达式是一个由空白间隔6个或者7个字段的字符串。

格式:

字段名

必须有?

值范围

允许的特殊字符

Seconds

YES

0-59

, - * /

Minutes

YES

0-59

, - * /

Hours

YES

0-23

, - * /

Day of month

YES

1-31

, - * ? / L W C

Month

YES

1-12 or JAN-DEC

, - * /

Day of week

YES

1-7 or SUN-SAT

, - * ? / L C #

Year

NO

empty, 1970-2099

, - * /

例子:

* * * * ? *

0 0/5 14,18,3-39,52 ? JAN,MAR,SEP MON-FRI 2002-2010

特殊字符

  • * 表示所有值 
  • ? 表示未说明的值,即不关心它为何值;
  • - 表示一个指定的范围;
  • , 表示附加一个可能值;
  • / 符号前表示开始时间,符号后表示每次递增的值;
  • L ("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段它简单意思是 "7" or "SAT" 如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" – 例如: "6L" means "这个月的最后一个星期五"当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。
  • W ("weekday") –只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第16天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在day-of-month指明一天,不能是一个范围或列表。

也可以用“LW”来指定这个月的最后一个工作日。

  • # -只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。
  • C ("calendar") – 指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。

MONTHDay of week字段里对字母大小写不敏感。

一些例子

表达式

意思(触发时刻)

0 0 12 * * ?

每天中午12

0 15 10 * * ? 2005

2005年的每天1025

0 10,44 14 ? 3 WED

3月里每个周三的14101444

0 15 10 ? * 6L 2002-2005

2002年到2005年里,每个月的最后一个星期五的1015

0 0 12 1/5 * ?

从当月的第一天开始,然后在每个月每隔5天的1200

0 15 10 ? * 6#3

每个月第3个周五的1015

注意在day-of-weekday-of-month字段里使用“?”和“*”的效果。

 

参考资料:

http://liuzidong.iteye.com/blog/1118992

 

http://blog.csdn.net/cuihaiyang/article/details/6742869

  • 大小: 16.5 KB
分享到:
评论

相关推荐

    作业调度Quartz小例子

    Quartz 是一个高度可扩展和灵活的开源作业调度框架,主要设计用于在 Java 应用程序中实现定时...通过学习和运行这个例子,你可以更好地理解 Quartz 如何在实际项目中工作,以及如何根据需求定制自己的作业调度策略。

    Quartz小例子

    在这个名为"QuartzDemo"的例子中,我们将深入理解Quartz如何在Java环境中实现定时任务,并通过简单的代码示例来演示其基本用法。 Quartz的核心概念包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是...

    一个java Quartz的小例子

    在这个小例子中,我们将深入理解如何使用Java Quartz来实现定时任务。 首先,我们需要引入Quartz的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.quartz-scheduler ...

    lucene与quartz例子

    lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子

    quartz 详细例子

    quartz 详细例子 quartz 详细例子 java 调度 工作流

    spring+quartz定时小例子

    在 "spring+quartz定时小例子" 中,我们主要关注的是如何将这两个框架结合使用,创建一个可以执行定时任务的应用。这个例子包含了相关的框架包和文档,帮助开发者理解并实践这一整合过程。 1. **Spring 配置**: ...

    quartz实例,quartz入门例子

    在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到如何在Spring中配置和使用Quartz,以及如何创建和调度Job。 学习Quartz时,你...

    spring quartz简单例子

    这个“spring quartz简单例子”是一个实际的项目示例,它展示了如何在Spring框架中集成Quartz库,以便在Tomcat服务器上运行并观察任务执行的效果。下面将详细解释这个例子中的关键知识点。 1. **Spring框架**:...

    Quartz.NET 官方源码及演示例子

    以下是对Quartz.NET及其官方源码和演示例子的详细解析。 **Quartz.NET核心概念** 1. **作业(Jobs)**:作业是实际执行的工作单元,它们包含了要运行的任务代码。开发者可以自定义作业类来实现所需的功能。 2. **...

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

    本篇文章将深入探讨如何使用Spring与Quartz结合来创建一个任务调度的小例子。 首先,Spring是一个开源的Java企业级应用开发框架,它提供了丰富的功能,包括依赖注入、数据访问、事务管理等。而Quartz则是一个强大的...

    一个最简单的定时任务Quartz的例子

    在这个最简单的Quartz例子中,我们将探讨如何设置和运行一个基本的定时任务。 首先,我们需要了解Quartz的核心组件:Job和Trigger。Job是实际执行的工作单元,而Trigger则是触发Job执行的时间规则。在Quartz中,...

    一个简单的实现quartz的例子

    这个"一个简单的实现quartz的例子"提供了基础的Quartz使用方法,虽然可能不包含所有功能,但足以帮助初学者理解其核心概念。 Quartz的核心组件包括: 1. **Job**:这是你要调度的任务,它定义了具体的工作逻辑。你...

    spring之quartz例子

    spring之quartz例子,与oracle整合,不过spring中的MethodInvokingJobDetailFactoryBean方法在存数据库时序列化有bug,在本例子中,使用了修复后的MethodInvokingJobDetailFactoryBean方法,避免了因序列化而报错。

    quartz例子

    Quartz是一个开源的作业调度框架,它允许程序在指定的时间执行特定的任务,广泛应用于Java企业级应用中。这篇博客文章提供了对Quartz的深入理解和示例应用,通过阅读可以了解到如何利用Quartz来创建和管理定时任务。...

    quartz使用例子

    ### Quartz使用例子详解 在Java领域,Quartz是一个强大的任务调度框架,被广泛应用于各种应用场景中,例如定时任务、事件处理等。本文将基于提供的代码片段,深入解析Quartz的使用方法,包括如何定义Job、配置...

    Quartz2.2.1的15个例子的代码

    下面将通过15个关键的例子,深入解析Quartz的核心概念和使用方法。 1. **基本概念** - **Job**:代表要执行的任务,实现了`org.quartz.Job`接口。 - **Trigger**:决定Job何时被执行,如SimpleTrigger或...

    quartz 任务调度可运行例子

    这个例子提供了 Quartz 的实际运行示例,帮助开发者更好地理解和使用这个强大的工具。 首先,让我们了解一下 Quartz 的基本概念。Quartz 提供了一个完全基于 Java 的 API 来创建、触发和管理作业(Job)和触发器...

    quartz.net 最简单的例子

    根据网上的教程,做了一个最简单的quartz.net运行例子,即每隔几秒向txt中写入数据: 2015-05-10 20:14:43.397 : 【HelloJob Executed】 **** Job group1.myJob fired @ Sun, 10 May 2015 12:14:43 GMT next ...

    quartz15个例子

    这个"quartz15个例子"很可能是提供了一系列的示例代码,帮助开发者了解和掌握 Quartz 的核心功能和用法。让我们深入探讨 Quartz 的关键特性、使用场景以及这些例子可能涉及的内容。 1. **Quartz 简介** - Quartz ...

    Spring.NET学习笔记25——整合Quartz.NET例子

    刘冬编写Spring.NET学习笔记25——整合Quartz.NET例子。 原文: http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_QuartzNet.html

Global site tag (gtag.js) - Google Analytics