id state
1 1
2 3
3 1
4 2
5 1
数据库state改为2或3时 定时任务开始 30天后2或3就改为4
定时任务开始时 state的1还会修改为2或3 还要继续这个任务
我现在只做出每个月一号 把state数据2或3数据改为4
求大佬帮忙
6 回复
只是项目之前写的定时任务 固定时间执行
我想要是数据库字段改变就开始执行30天任务
public class UserRecQuartz implements ServletContextListener{
public void contextDestroyed(ServletContextEvent arg0) {
}
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("-------------------------启动任务调度开始");
try {
/*** 定制每日9:00执行方法 ***/
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,17);
calendar.set(Calendar.MINUTE,50);
calendar.set(Calendar.SECOND, 0);
//Date date = calendar.getTime();
//第一次执行定时任务的时间 比当前时间推迟xxx的时间
Date date = new Date(System.currentTimeMillis()+(long)(60*1000));//1分钟后执行
String time1 = "0 1/60 * * * ? *"; //1小时执行一次
JobDetail jobDetail1 = new JobDetail("job1_1","jGroup1", RyHistoryJob.class);
CronTrigger cron1 = new CronTrigger("trigger1_1","tgroup1", time1);
cron1.setStartTime(date);
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
// 注册并进行调度
scheduler.scheduleJob(jobDetail1,cron1);
//调度启动
scheduler.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
添加回复
请先登陆