@Scheduled Java定时器,每月1号执行
作为本人第一篇博客,分享一下最近写代码遇到的问题吧,当然,作为一名技术小白,能分享的也只是我遇到什么不会的尝试去解决的问题,技术比较浅显。
定时器
我原本的是在每月初,把其中一个表的信息,根据字段期限是季还是月,来往另一个详细表里面重新添加当月初的数据:
- 月初执行@Scheduled(cron = “0 10 0 1 * ?”)//每月1号的0:10:00执行
- Thread
毕竟每月1号太遥远,你可以先测试一下这个:
@Scheduled(cron = "0/5 * * * * ? ")//每5秒执行一次
代码
// An highlighted block
@Component("TimerWater")
public class TimerWater {
private static Logger log = Logger.getLogger(TimerWater.class);
public SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Scheduled(cron = "0 10 0 1 * ?")
public void GetWaterRealTimeData(){
MyThread t=new MyThread();
t.start();
}
class MyThread extends Thread{
public MyThread(){
super();
}
public void run(){
log.info("TimeWater:执行更新实时数据, 开始" + now.format(new Date()));
System.err.println("===========TimeWater: 执行更新实时数据, 开始");
doNewInfo();
log.info("TimeWater: 执行更新实时数据, 结束" + now.format(new Date()));
System.err.println("===========TimeWater: 执行更新实时数据, 结束......");
}
}
public void doNewInfo(){
//System.out.println();
}
}