我在一个页面存了信息和设置了时间(可以存多个信息和设置多个时间的)。我现在希望做一个每隔10分钟就扫描一下那个设置时间是否有到时(里面肯定不可能只有一个而是多个)。到时了就触发其他的事件,没到时间就继续每隔10分钟扫描。
             望各位大虾帮帮忙发下代码给小弟参考下。谢谢了。
                     在线等待中······

解决方案 »

  1.   

    利用timer或其他的定时框架建立定时任务!
      

  2.   

    http://www.cnblogs.com/wyqtomorrow/archive/2007/04/28/730978.aspx
      

  3.   


    public static void main(String ss[]) {
    ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
    Runnable doThing = new Runnable() {
        public void run() { System.out.println("dddd"); }
    };
    scheduler.scheduleAtFixedRate(doThing, 0, 3, TimeUnit.SECONDS);
    }
      

  4.   

    写个 线程 线程里面执行你的逻辑
    配置 web.xml 监听线程
      

  5.   

    http://wangguorui89.javaeye.com/blog/428345
    关注一下
      

  6.   

    我想用spring + quartz来实现。但因为没用过,谁可以发个示例来给我参考下啊!
      

  7.   

    我 的博客:
    http://lialiks.bokee.com/6335210.html
    呵呵
      

  8.   

    SPRING 有支持的定时器 可以百度下
      

  9.   

    package com.jx.sms.tools;import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.TimerTask;/**
     * 定时发送处理
     * 
     * @author Administrator
     * 
     */
    public class MyTask extends TimerTask { public void run() {
    // System.out.println("call at " + (new Date()));
    Connection conn = DataBase_local.getConn();
    Statement stmt = null;
    ResultSet rs = null;
    try {
    stmt = conn.createStatement();
    rs = stmt.executeQuery("select * from unsendsms");
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    java.util.Calendar c1 = java.util.Calendar.getInstance();
    java.util.Calendar c2 = java.util.Calendar.getInstance();
    String d1 = df.format(new Date()); while (rs.next()) {
    String d2 = rs.getString("sendTime");// 获取短信的发送时间
    c1.setTime(df.parse(d1));
    c2.setTime(df.parse(d2));
    int result = c1.compareTo(c2);// 比较大小
    if (result == 0 || result > 0) {
    SMS.send(rs.getString("telphone") + ",", rs
    .getString("messageContent"), rs.getInt("smsType"));
    // 发送待发短信 Statement stmt1 = conn.createStatement();
    stmt1.execute("delete from unsendsms where id='"
    + rs.getInt("id") + "'");// 发送完成后删除待发短信
    stmt1.close();
    }
    }
    } catch (Exception e) {
    e.printStackTrace();
    System.out.println("call at " + (new Date()) + " database error");
    return;
    } finally {
    try {
    rs.close();
    stmt.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    return;
    } }
    }}
    package com.jx.sms.tools;import java.util.Timer;
    import javax.servlet.ServletContextEvent;
    import javax.servlet.ServletContextListener;public class MySmsListener implements ServletContextListener { private Timer timer = null; public void contextInitialized(ServletContextEvent event) {
    timer = new Timer(true);
    // 设置任务计划,启动和间隔时间
    timer.schedule(new MyTask(), 0, 600000);
    } public void contextDestroyed(ServletContextEvent event) {
    timer.cancel();
    }}
      

  10.   

    web.xml设置监听MySmsListener