Spring定时器,主要有两种实现方式,包括Java Timer定时和Quartz定时器!

1.Java Timer定时

首先继承java.util.TimerTask类实现run方法

package com.land;

import java.util.Date;

import java.util.TimerTask;

public class TimerTest extends  TimerTask  {

@Override

public void run() {

// TODO Auto-generated method stub

System.out.println("TimerTest"+(new Date()).toString());

}

}

Spring配置

2.Quartz定时器

首先继承QuartzJobBean类实现executeInternal方法

public class SchedulerTest   extends QuartzJobBean{

@Override

protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {

// TODO Auto-generated method stub

//System.out.println("-----------");

System.out.println("1111111"+(new Date()).toString());

}

}

-------------------------------------------

public class SchedulerTest2   extends QuartzJobBean{

@Override

protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {

// TODO Auto-generated method stub

//System.out.println("-----------");

System.out.println("22222222"+(new Date()).toString());

}

}

Spring配置

com.land.SchedulerTest

com.land.SchedulerTest2

0/10 * * * * ?

1000

20000

3.其他说明

Java Timer定时有一种配置启动的方org.springframework.scheduling.timer.ScheduledTimerTask,

Quartz定时器有两种配置启动的方式:org.springframework.scheduling.quartz.SimpleTriggerBean,org.springframework.scheduling.quartz.CronTriggerBean。

org.springframework.scheduling.quartz.CronTriggerBean

Linux系统的计划任务通常有cron来承担。从左到右

字段   允许值   允许的特殊字符

秒    0-59    , - * /

分    0-59    , - * /

小时    0-23    , - * /

日期    1-31    , - * ? / L W C

月份    1-12 或者 JAN-DEC    , - * /

星期    1-7 或者 SUN-SAT    , - * ? / L C #

年(可选)    留空, 1970-2099    , - * /

表达式   意义

"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触发

特殊字符   意义

*    表示所有值;

?    表示未说明的值,即不关心它为何值;

-    表示一个指定的范围;

,    表示附加一个可能值;

/    符号前表示开始时间,符号后表示每次递增的值;

L("last")    ("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联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。

在MONTH和Day Of Week字段里对字母大小写不敏感

java配置定时任务_java配置定时任务的几种配置方式及示例相关推荐

  1. java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)...

    java中数组的三种定义方式 java中,数组是一种很常用的工具,今天我们来说说数组怎么定义 [java] view plain copy /** * 数组的三种定义方法 * 1.数组类型[] 数组名 ...

  2. java arraylist 遍历_java集合ArrayList的三种遍历方式

    ArrayList ArrayList 使用连续的内存单元存储数据元素,是一个其容量能够动态增长的动态数组. 当添加或删除数据元素时(最后位置除外),ArrayList 需要移动其被添加(或删除)元素 ...

  3. java的rest教程_[Java教程]SpringMVC的REST风格的四种请求方式

    [Java教程]SpringMVC的REST风格的四种请求方式 0 2017-08-28 22:00:25 一. 在HTTP 协议里面,四个表示操作方式的动词:GET.POST.PUT.DELETE. ...

  4. Java多线程:多线程同步安全问题的 “三“ 种处理方式 ||多线程 ”死锁“ 的避免 || 单例模式”懒汉式“的线程同步安全问题

    Java多线程:多线程同步安全问题的 "三" 种处理方式 ||多线程 "死锁" 的避免 || 单例模式"懒汉式"的线程同步安全问题 每博一文 ...

  5. java aop模式_Java的Spring框架下的AOP编程模式示例

    Spring框架的关键组件是面向方面编程(AOP)框架.面向方面的编程不仅打破程序逻辑分成不同的部分称为所谓的担忧.跨越多个点的应用程序的功能被称为横切关注点和这些横切关注点是从应用程序的业务逻辑概念 ...

  6. java 遍历方法_Java ArrayList遍历的3种方法

    首页 > 基础教程 > 集合框架 > ArrayList类 Java ArrayList遍历的3种方法 1. Iterator方法遍历 for(Iterator it2 = list ...

  7. java final 实例_Java中final实现原理的深入分析(附示例)

    本篇文章给大家带来的内容是关于Java中final实现原理的深入分析(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. final在Java中是一个保留的关键字,可以声明成员变 ...

  8. java method 创建_java中创建对象的5种方式

    作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法. Java中有5种创建对象的方法,下面列出例子还有他们的字节码: 使用n ...

  9. java中map的遍历方法_Java中Map的三种遍历方式

    集合中的三种遍历方式,如下代码: import java.util.Collection; import java.util.HashMap; import java.util.Iterator; i ...

  10. java 数组效率_java数组复制的四种方法效率对比

    有关数组的基础知识,有很多方面,比方说初始化,引用,遍历,以及一维数组和二维数组,今天我们先看看数组复制的有关内容. 来源于牛客网的一道选择题: JAVA语言的下面几种数组复制方法中,哪个效率最高? ...

最新文章

  1. 计算机组成原理期末复习往年卷子
  2. 基于JAVA+Servlet+JSP+MYSQL的图书馆座位预约系统
  3. 利用反射动态实例化类执行方法并传值
  4. css表示屏幕宽度和高度
  5. LINUX 软件安装。
  6. 数据结构上机实践第10周项目1 - 二叉树算法验证
  7. caffe+GAN︱PPGN生成模型5则官方案例(caffe版)
  8. Golang Gin实践 连载十六 在图片上绘制文字
  9. Master Reactor Manager Worker TaskWorker(Task)
  10. 跨域及处理跨域的三种方式
  11. layui form.js select的扩展插件(转自Author:@贤心)
  12. 【diskgenius】【Error on partition resizing.(2000011a)Out of disk space.】【The partition(or volume)“PART
  13. Padavan老毛子的二级路由,怎样设置与主路由在同一网段
  14. matlab批量导入excel表格数据,matlab导入excel表格数据-如何用matlab读取多个excel表格数据,将每个表格数......
  15. NOI 1789:算24
  16. 音乐播放器(网页手机版)使用Jquery插件
  17. 三不足成紧箍咒,河姆渡能否取到智慧城市这本真经
  18. sklearn学习谱聚类
  19. 微软WindowsPhone7.5发布会图文实录windowsphone
  20. 4G,让这个冬天不寒冷

热门文章

  1. 这个机器人宇航员Fyodor,是否能助俄罗斯“漫步”太空?
  2. 设计模式(三)之结构性设计模式
  3. 为人处事经典(100条)
  4. 计算机系英语挂科,最令大学生惧怕的专业,“挂科率”很高,报考需慎重
  5. sina33打开spi0dev0.0、spi1dev1.0的步骤.txt(全志a33下生成设备节点/dev/spi0dev0.0、/dev/spi1dev1.0)
  6. NLP-文献阅读总结
  7. akshare尾盘选股实践
  8. 愚人节,让生活多些色彩
  9. 作业(SAMBA、DHCP)
  10. 全国职称计算机考试 技巧,职称计算机考试word实用技巧