Java定时器实现

定时器主要用于处理重复的工作,例如:从某个库定时抓取数据;扫描某一张表格的数据,某个字段值更新时做特定处理等。

首先需要导入maven依赖:

<dependency>
	<groupId>org.quartz-scheduler</groupId>
	<artifactId>quartz</artifactId>
</dependency>

接下来是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:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.3.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
	
	<task:annotation-driven/>
 	
	<!-- 时间配置说明:cronExpression 至少要配置6或以上参数,参数中由空格间隔开,从左到右的各个        
        元素定义如下: 
		第一位: 秒(0-59) 
		第二位:分钟(0-59) 
		第三位:小时(0-23) 
		第四位: 天(1-31),代表月份中第几天 
		第五位:月份(1-12) 
		第六位:星期(1-7 ),代表是星期几 
		第七位:年份(1970-2099) 
		其中可以加入模糊定义字符[ - / * ? ],其中含义如下: 
			1.[-]: 字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点” 
			2.[/] 3.[*]: 字符被用来指定所有的值。如:”*“在分钟的字段域里表示“每分钟” 
			4.[?]: 字符只在日期域和星期域中使用 例如举例如下: 
				a. 每天晚上23-00点仅此触发一次 [0 0 23 * * ?] 
				b. 每月第一天凌晨1点仅此触发一次[0 0 1 1 * ?] 
				c. 在每天下午2点到下午2:55期间的每5分钟触发[ 0 0/5 14 * * ? ] 
	-->
</beans>

java实现定时器功能代码如下:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class JobTest{
    @Scheduled(cron = "${value}")
    public void execute(){
        //TODO:执行的定时器逻辑代码
    }
}

注解里面的value值为cron表达式,可用cron表达式自动生成工具,百度搜索cron第一条就是,链接也附上http://cron.qqe2.com/

如下为工具:根据选项设置你需要启动定时器的时间,会给出你最近5次的运行时间,把cron表达式copy到项目中就可以了!

启动项目之后到了预设的时间,就会执行定时器的execute方法!

定时器完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值