TimerTask

TimerTask之spring静态注入

星期三, 七月 1st, 2015 | JAVA-and-J2EE | 没有评论

是用jdk自带的TimerTask做简单任务处理感觉蛮简单;

遇到spring无法注入的情况,具体表现:

@Resource annotation is not supported on static fields

1.第一次启动的时候对应的dao是可以注入进来的

2.中间执行run方法的时候dao则为NULL

解决 再引入一个静态初始化的时候转换即可:

 
@Resource
private BookDao bookDao;
 
private static BookDao bkDao;
 
public void start() {
    bkDao= this.bookDao;
    if (!start) {
	VisitStatServiceUtil daemon = new VisitStatServiceUtil();
	click_timer = new Timer("VisitStatServiceUtil", true);
	click_timer.schedule(daemon, INTERVAL, INTERVAL);// 运行间隔1分钟
	start = true;
    }
   log.info("VisitStatService started.");
}

注:在用xml配置的时候 可以通过get set 启用生效;(在项目去 DAO和Service的xml配置文件引发的一系列问题,逐个击破,达到切换到注解模式下)

Tags: , ,

Search

文章分类

Links

Meta