java 定时器在项目中的运用

定时器最好单独写在一个类里,这个类专门就是定时器管理

我这边用的是注解:在类的上面注解@Component("Timer")   表名这个类是定时器,这个类里面可以写N个定时器,注解是用 @Scheduled(cron="0 0/10 * * * ?")   当然cron是你自己定义的时间,后面我会抽点时间说说这个cron表达式。demo如下:

package com.timer;

import java.util.Date;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import com.menu.zhai.order.busi.OrderTimerService;

/**
 * 
* 
* 类描述:Spring定时任务管理   
* 项目名称:zhaiqq   
* 类名称:Timer   
* 创建人:yt
* 创建时间:2015-5-11 下午7:19:00   
* 修改人:yt
* @version    
*
 */
@Component("Timer")  
public class Timer{
	
	@Autowired
	private OrderTimerService orderTimeService;
	
	/**
	 * 
	 * 方法描述:推送下单信息给大屏
	 * 创建人:yt
	 * 创建时间:2015-5-11 下午7:49:42
	 */
    @Scheduled(cron = "0 0/10 * * * ?")
    public void newOrderInfoTimer() {  
    	//推送下单信息给大屏
	  this.orderTimeService.getNewOrderInfo();       
	} 
    
    /**
     * 
     * 方法描述:定时执行订单超过24小时,自动将订单表的状态改为取消   
     * 创建人:yt
     * 创建时间:2015-5-26 下午7:51:26
     * 修改人:yt
     * 修改内容:将24个小时改为1个小时
     */
    @Scheduled(cron="0 0/10 * * * ?") 
    public void AutoModifyOrderStatusToCancel() {  
    	//调用定时执行订单超过1小时,自动将订单表的状态改为取消service  
	  this.orderTimeService.AutoModifyOrderStatusToCancel();   
	}  

}

猜你喜欢

转载自yt-lemon.iteye.com/blog/2229543