定时周期任务的实现
ScheduledThreadPoolExecutor scheduleExcutor = new ScheduledThreadPoolExecutor(1)
DataBackUpTask dbt = new DataBackUpTask()
Calendar calendar = Calendar.getInstance()
calendar.set(Calendar.HOUR_OF_DAY, Config.DBUTimeStamp_Hour)
calendar.set(Calendar.MINUTE, Config.DBUTimeStamp_Min)
calendar.set(Calendar.SECOND, Config.DBUTimeStamp_Sec)
Date tar_time = calendar.getTime()
Date nowtime = new Date(System.currentTimeMillis())
long delay
if(tar_time.getTime() > nowtime.getTime())
{
delay = DateUtil.getSenconds(tar_time, nowtime)
}else{
delay = DateUtil.getSenconds(tar_time, nowtime) + 86400
}
serverlog.info("DataBackUpServer....[nowtime]:\t" + nowtime)
serverlog.info("DataBackUpServer....[tar_time]:\t" + tar_time)
serverlog.info("DataBackUpServer....[delay]:\t" + delay + "S\t" + (delay/3600) + "H")
scheduleExcutor.scheduleAtFixedRate(dbt, delay, Config.DBUPeriod, TimeUnit.SECONDS)