定时器 我在一个页面存了信息和设置了时间(可以存多个信息和设置多个时间的)。我现在希望做一个每隔10分钟就扫描一下那个设置时间是否有到时(里面肯定不可能只有一个而是多个)。到时了就触发其他的事件,没到时间就继续每隔10分钟扫描。 望各位大虾帮帮忙发下代码给小弟参考下。谢谢了。 在线等待中······ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 利用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); } 写个 线程 线程里面执行你的逻辑配置 web.xml 监听线程 http://wangguorui89.javaeye.com/blog/428345关注一下 我想用spring + quartz来实现。但因为没用过,谁可以发个示例来给我参考下啊! 我 的博客:http://lialiks.bokee.com/6335210.html呵呵 SPRING 有支持的定时器 可以百度下 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(); }} web.xml设置监听MySmsListener 关于删除数据 马上更新的问题 项目每次都得重新部署的奇怪问题 寻javascript开源库 applet如何访问mysql数据库 关于企业级分布式计算设计模式的疑问,精通j2ee的朋友请进 100分求JSP电子书,每本书50分,不够可以加 新手求问有关网络的问题 高手帮我看看啊,我死活连不好oracle 很简单的几个代码。。帮我看看提示错误。谢谢。。 疑难问题,fileupload如何接收同名checkbox的值 jsp问题 刚刚安装好java web相关软件 做第一个JSP程序时候出现得问题?急…… 很无赖
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);
}
配置 web.xml 监听线程
关注一下
http://lialiks.bokee.com/6335210.html
呵呵
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();
}}