Spring Task定时任务每天零点执行一次

最近根据项目的需求,需要限制用户每天的发送短信数量。这样以来就需要写一个定时任务,每天去置零一次所有用户的发送短信统计数量。

首先,在application.xml文件中添加

<task:annotation-driven /> 

接着就是编写自己的业务处理逻辑

package com.*.*.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import com.***.common.util.DateUtil;
import com.***.dao.StudentMessageDao;

@Component
public class TimerTask {


	@Autowired
	private StudentMessageDao messageDao;
	
	/**
	 * 每天凌晨执行一次
	 */
	@Scheduled(cron = "0 0 0 * * ?")
	public void scheduledTask(){
		String stringNow = DateUtil.stringNow();
		int num = messageDao.resetMessageDayCount();
		if (num<=0) {
			日志信息
		}else{
			日志信息
		}
	}
}

使用Spring自带的Task,.xml中的一行配置,业务代码的注解使用,就是这么的快捷方便!


展开阅读全文

没有更多推荐了,返回首页