当前位置: 代码迷 >> Java Web开发 >> timer.schedule 不能配置按月执行 何位ggjj帮帮忙
  详细解决方案

timer.schedule 不能配置按月执行 何位ggjj帮帮忙

热度:616   发布时间:2016-04-16 21:42:00.0
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号,如果是则执行任务,如果不是就退出。
  相关解决方案