java中要每隔一时间,进行一次操作,要怎么做?
  例如:每隔15分钟,向数据库插入一条记录。

解决方案 »

  1.   

    while(true){
      sleep(15*60*1000);
      //do sth here  //注意要有退出循环的条件
    }
      

  2.   

    也可以通过html的<meta>标签来做
    可以通过在meta属性标签内做如下指定,即可实现定时处理
    <meta http-equiv="refresh" content="5;URL=insert.jsp;charset=gb2312">
    其中:
    insert.jsp处理数据库插入,之后又返回主页面
      

  3.   

    java.util.Timer&TimerTask可以实现,基于线程的.
      

  4.   

    Timer + TimerTask或者通过线程的sleep来实现
      

  5.   

    用Java定的定时任务,有的时候在执行一些后台任务时很有用listenBean.java
     
    import javax.servlet.*;
    import java.util.*;
    public class listenerBean implements ServletContextListener {
      private java.util.Timer timer = null;
      public void contextInitialized(ServletContextEvent event) {
      timer = new Timer(true);
      //定时器已启动
      timer.schedule(new MyTask(), 0, (long) 1000*60);//定时1分钟
      //已经添加任务调度表
     }
     public void contextDestroyed(ServletContextEvent event) {
      timer.cancel();
      //定时器销毁
     }
    }
    class MyTask extends TimerTask {
     private static boolean isRunning = false;
     public void run() {
      if (!isRunning) {
       isRunning = true;
       //开始执行任务
       //ToDo ....
       //执行任务完成
       isRunning = false;
      } else {
       //上一次任务执行还未结束
      }
     }
    }
    web.xml <web-app>
     <listener>
        <listener-class>listenerBean</listener-class>
    </listener>
    </web-app>
      

  6.   

    Timer + TimerTask
    楼上正解