我要实现定时发邮件的功能, 时间要可以设置为每周的某一天发送邮件,有哪位仁兄做过类似的,提供来参考一下啊~~

解决方案 »

  1.   

    这是我以前写的,你可以参考一下import java.util.Calendar;
    import java.util.Timer;
    import java.util.TimerTask;import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;public class MailSchedulerDemo {  private Log log = LogFactory.getLog(this.getClass());  private static long ONE_WEEK = 7 * 24 * 60 * 60 * 1000;  private ScheduleTimerTask task;  private Timer timer;  public MailSchedulerDemo() {
        timer = new Timer(true);
      }  public boolean run() {
        boolean success = true;    sendMail();
        return success;
      }  private void sendMail() {
        // 发送邮件
      }  public void start() {
        task = new ScheduleTimerTask(this);
        Calendar c = Calendar.getInstance();
        c.set(Calendar.HOUR_OF_DAY, 10);
        c.set(Calendar.MINUTE, 24);
        c.set(Calendar.SECOND, 0);
        c.set(2006, 2, 31);// 就是今天,以后就是每周五10点24运行,发邮件部分你就自己写吧.
        timer.schedule(task, c.getTime(), ONE_WEEK);
      }  public void stop() {
        timer.cancel();
      }  class ScheduleTimerTask extends TimerTask {    private MailSchedulerDemo subscription;    public ScheduleTimerTask(MailSchedulerDemo s) {
          subscription = s;
        }    public void run() {
          subscription.run();
        }
      }}
      

  2.   

    echomyf(ECHO)
    谢谢你回复
    读配置文件的方法,在时间设置上不是很灵活
    我想要实现的是可以让用户自由设置 时间(即提供一个页面给用户)的~~
      

  3.   

    你也可写一个bat文件:
    set classpath=.....
    set path=%path%;%JAVA_HOME%\bin
    java yourClassName           执行此java文件发送mail
    然后在计划任务中定义,这个也很方便.或者你自己写一个页面,修改上面程序的执行参数也可
      

  4.   

    由一个叫quartz的开源工具。定制很灵活。
      

  5.   

    修改配置文件 在TOMCAT下,好像还要重启TOMCAT才能生效的吧?
    我想用数据库来保存定时器的时间~
      

  6.   

    不用的,你每次读取配置文件,不用重起tomcat,当然,保存在数据库里边也不错
      

  7.   

    哦,我在web.xml里面配置的都要重启才行
    echomyf(ECHO)  你的配置文件是什么写的? 能否给看一下
      

  8.   

    改变web.xml当然要重启,因为那是tomcat的配置文件,用来生成JSP运行所需的很多环镜变量的,所以要重启TOMCAT来更新这些新的环镜变量,但是如果是一个程序,读取一次XML文件中的内容,只要把XML中的内容改了,然后那个程序中的方法重新读一次就行了。
      

  9.   

    呵呵
    其实也不应该叫配置文件,就是一个属性文件而已,**.properties文件.
    每次重新读取就ok了
      

  10.   

    如果你是用的linux服务器,建议你用linux的定时器
    可查阅这里!http://www.rhutech.net/article/info/1202-1.htm
    写得很详细
      

  11.   

    kaukiyou(小全) 
    推荐的开源工具很好用,推荐。
    btw:spring is action有一章节介绍如何结合spring使用它。