Spring定时器的两种实现方式

上传人:豆浆 文档编号:10387843 上传时间:2017-10-07 格式:DOC 页数:7 大小:92.50KB
返回 下载 相关 举报
Spring定时器的两种实现方式_第1页
第1页 / 共7页
Spring定时器的两种实现方式_第2页
第2页 / 共7页
Spring定时器的两种实现方式_第3页
第3页 / 共7页
Spring定时器的两种实现方式_第4页
第4页 / 共7页
Spring定时器的两种实现方式_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Spring定时器的两种实现方式》由会员分享,可在线阅读,更多相关《Spring定时器的两种实现方式(7页珍藏版)》请在金锄头文库上搜索。

1、一.Spring 定时器的两种实现方式:1. 继承 java.util.TimerTask2. 继承 org.springframework.scheduling.quartz.QuartzJobBean下面详细说明两种方式实现的过程在开始说明前先建立一个 web 工程 SpringTiming 然后导入需要用到的包a. TimerTask 定时(用 TimerTask 来实现定时只能设置定时器以怎样一个频率(也就是多久运行一次)运行而不能设定某个时间点来运行定时器)1. 建一个类 TestTimerTask 继承 TimerTask 类实现 run 方法,这个类的 run 方法里的代码在定时

2、器触发时执行package com.SpringTiming;import java.util.TimerTask;public class TestTimerTask extends TimerTask Overridepublic void run() System.out.println(=执行TimerTask定时成功=);2. 建一个 xml 文件 applicationContext.xml 用来配置定时器新增一个 bean10000其中 timerTask 属性是用来告知 ScheduledTimerTask 执行那个类,period 属性是用来设置定时器运行的间隔时间(也就是调

3、用TestTimerTask.run()方法的间隔时间),其中的 1000 代表 1000 毫秒。再添加一个负责启动定时器的 bean其中的 scheduledTimerTask 属性值用来引入需要定时触发的执行的bean3.再添加一个类(TestApp.java)用来调用 applicationContext.xml文件TestApp.javapackage com.TimingRun;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPa

4、thXmlApplicationContext;public class TestApp public static void main(String args) / TODO Auto-generated method stubApplicationContext context = new ClassPathXmlApplicationContext(applicationContext.xml);b. quartz 定时(可以用 SimpleTriggerBean 设置一个频率时间来运行定时器,类似于 TimerTask;还可以用 CronTriggerBean 来设置一个固定的时间点来

5、运行定时器)1. 新建一个类 TestQuartzJobBean.java 继承 QuartzJobBean 抽象类TestQuartzJobBean.javapackage com.SpringTiming;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.scheduling.quartz.QuartzJobBean;public class TestQuartzJobBean extends QuartzJobBean Overr

6、ideprotected void executeInternal(JobExecutionContext arg0)throws JobExecutionException System.out.println(=执行 quartz定时任务成功=);其中 executeInternal 这个方法里的代码是定时器触发时用来执行的2. 在 xml 文件中配置定时器 其中的 jobClass 属性是用来设置定时器调用的类;jobDataAsMap 属性用来设置定时器调用的类的属性,当 JobDetailBean 实例化时,它会将 courseService Bean 注入到 TestQuartzJ

7、obBean 的courseService 属性中。Spring 提供了两个触发器一个用来设置定时器何时运行另一个用来设置以怎样的频率运行分别是:SimpleTriggerBean 和CronTriggerBean。SimpleTriggerBean 与 ScheduledTimerTask 类似都可以用来设置定时器以怎样的频率运行,配置如下:其中的 jobDetail 属性用来设置定时器调用的Bean;repeatInterval 属性用来设置定时器触发的频率(也就是多久触发一次定时器),1000 代表 1000 毫秒。再用 SchedulerFactoryBean 来启动定时器: 其中的

8、triggers 属性用来引用需要执行怎样频率的定时器 bean。CronTriggerBean 可以用来设置定时器在某个时间点来运行,配置如下:其中的 jobDetail 属性用来设置定时器调用的Bean;cronExpression 属性用来设置定时器运行的时间点,设置的规则为:一个 cron 表达式有至少 6 个(也可能 7 个)有空格分隔的时间元素。从左到右:1.秒 2.分 3.小时 4.月份中的日期(1-31)5.月份(1-12 或 JAN-DEC)6.星期中的日期(1-7 或 SUN-SAT)7.年份(1970-2099) 每个元素都显示的规定一个值(如 6) ,一个区间(9-12) ,一个列表(9,11,13)或一个通配符(*) 。因为 4 和 6 这两个元素是互斥的,因此应该通 过设置一个问号(?)来表明不想设置的那个字段,“/”如果值组合就表示重复次数(10/6 表示每 10 秒重复 6 次) 。然后启动定时器:其中的 triggers 属性用来引用需要执行怎样间隔时间的定时器bean。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号