timer.schedule 不能配置按月执行 哪位ggjj帮帮忙
Timer timer = new Timer();
tt = new SendMailTask();
Calendar cal = new GregorianCalendar(2012, 1, 26, 18, 23, 0);// 从2012年2月20号8点开始执行
Date date = cal.getTime();
System.out.println(date+"----------------dat4e-------------------------");
timer.schedule(tt, date);//8点后,每24小时执行一次
System.out.println("-------------------startdate----------------------------");
(1)Timer.schedule(TimerTask task,Date time)安排在制定的时间执行指定的任务。
(2)Timer.schedule(TimerTask task,Date firstTime ,long period)安排指定的任务在指定的时间开始进行重复的固定延迟执行.
(3)Timer.schedule(TimerTask task,long delay)安排在指定延迟后执行指定的任务.
(4)Timer.schedule(TimerTask task,long delay,long period)安排指定的任务从指定的延迟后开始进行重复的固定延迟执行.
(5)Timer.scheduleAtFixedRate(TimerTask task,Date firstTime,long period)安排指定的任务在指定的时间开始进行重复的固定速率执行.
(6)Timer.scheduleAtFixedRate(TimerTask task,long delay,long period)安排指定的任务在指定的延迟后开始进行重复的固定速率执行.
要实现一个定时邮件功能 就用了这个 结果发现不能按月或者按星期执行(就是指定在每个月的某天的某个点执行,我的意思是部署后每个月那一天的那个时间点都要执行一次) 小弟 尝试解决失败 各位大大帮帮忙
------解决方案--------------------看看Qutarz框架行不
------解决方案--------------------
简单的处理办法,比如要定为每月的1日执行:
Timer timer = new Timer();
timer.schedule(new MyTimerTask(), date, 24 * 60 * 60 * 1000);
先配置成每天运行,在MyTimerTask里检查日期是否是1号,如果是则执行任务,如果不是就退出。