定时器
我在一个页面存了信息和设置了时间(可以存多个信息和设置多个时间的)。我现在希望做一个每隔10分钟就扫描一下那个设置时间是否有到时(里面肯定不可能只有一个而是多个)。到时了就触发其他的事件,没到时间就继续每隔10分钟扫描。
望各位大虾帮帮忙发下代码给小弟参考下。谢谢了。
在线等待中······
[解决办法]
利用timer或其他的定时框架建立定时任务!
[解决办法]
http://www.cnblogs.com/wyqtomorrow/archive/2007/04/28/730978.aspx
[解决办法]
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); }
[解决办法]
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; } } }}
[解决办法]
web.xml设置监听MySmsListener
[解决办法]