备注:类实现ServletContextListener,在web.xml配置,之后服务启动该定时器类自动加载

package com.leadlt.common.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class TestTimer implements ServletContextListener{
public static void doCon() throws Exception, Exception, Exception {
Connection con = null;
Statement st = null;
ResultSet rs = null;
// 获得Oracle驱动的实例
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// 获得连接对象(提供:地址,用户名,密码)
con = DriverManager.getConnection(
"jdbc:oracle:thin:@192.168.1.121:1521:orcl", "parking",
"parking");

if (!con.isClosed())
System.out.println("Successfully connected ");
else
System.out.println("failed connected");

// 建立一个Statement,数据库对象
st = con.createStatement();
// 运行SQL查询语句
//rs = st.executeQuery("select * from DAY_TRAFFIC");
//rs=st.executeQuery("insert into DAY_TRAFFIC (parkno,time1,time2,ID,types,day_time) VALUES (parkno,0,0,DAY_TRAFFIC_SEQ.nextval,'year',sysdate)");
rs=st.executeQuery("insert into DAY_TRAFFIC (parkno,ID) VALUES ('0',7)");
System.out.println(rs);
// 读取结果集
while (rs.next()) {
System.out.println("parkno:" + rs.getString(1));
/*
* System.out.println("time1:" + rs.getInt(2));
* System.out.println("time2:" + rs.getInt(3));
* System.out.println("time3:" + rs.getInt(4));
* System.out.println("time4:" + rs.getInt(5));
* System.out.println("time5:" + rs.getInt(6));
* System.out.println("time6:" + rs.getInt(7));
* System.out.println("time7:" + rs.getInt(8));
* System.out.println("time8:" + rs.getInt(9));
* System.out.println("time9:" + rs.getInt(10));
* System.out.println("time10:" + rs.getInt(11));
* System.out.println("time11:" + rs.getInt(12));
* System.out.println("time12:" + rs.getInt(13));
* System.out.println("day_time:" + rs.getDate(26));
* System.out.println("ID:" + rs.getInt(27));
* System.out.println("types:" + rs.getString(28));
*/
}
// 关闭链接
con.close();
// run();
}

static int count = 0;
public static void showTimer() {
TimerTask task = new TimerTask() {
@Override
public void run() {
++count;
System.out.println("时间=" + new Date() + " 执行了" + count + "次"); // 1次
try {
doCon();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};

// 设置执行时间
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);// 每天
// 定制每天的12:15:15执行,
calendar.set(year, month, day, 12, 15, 15);
Date date = calendar.getTime();
Timer timer = new Timer();
System.out.println(date);

int period = 2 * 1000;
// 每天的date时刻执行task,每隔2秒重复执行
timer.schedule(task, date, period);
// 每天的date时刻执行task, 仅执行一次
// timer.schedule(task, date);
}

/*public static void main(String[] args) {
showTimer();
}*/

public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub

}

public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
showTimer();

}
}

JAVA TIMER定时器的更多相关文章

  1. JAVA Timer定时器使用方法(二)

    JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...

  2. JAVA Timer定时器使用方法

    JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...

  3. java Timer定时器管理类

    1.java timer类,定时器类.启动执行定时任务方法是timer.schedule(new RemindTask(), seconds*1000);俩参数分别是TimerTask子类,具体执行定 ...

  4. Java Timer定时器时,每次重复执行了两次任务的解决方案

    web.xml监听配置 com.numenzq.mc.service.impl.TimerListener TimerListener类 public class TimerListener impl ...

  5. Java Timer 定时器的使用

    设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...

  6. JAVA Timer定时器使用方法(一)

    设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...

  7. Java Timer定时器原理

    做项目很多时候会用到定时任务,比如在深夜,流量较小的时候,做一些统计工作.早上定时发送邮件,更新数据库等.这里可以用Java的Timer或线程池实现.Timer可以实现,不过Timer存在一些问题.他 ...

  8. Java进阶(十八)Java实现定时器(Timer)

    Java实现定时器(Timer) 绪 在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类.java.u ...

  9. java之定时器任务Timer用法

    在项目开发中,经常会遇到需要实现一些定时操作的任务,写过很多遍了,然而每次写的时候,总是会对一些细节有所遗忘,后来想想可能是没有总结的缘故,所以今天小编就打算总结一下可能会被遗忘的小点: 1. pub ...

随机推荐

  1. [推荐] BC/Beyond Compare(差异比较软件)

    Beyond Compare 前一段时间,介绍过用Total Commander来完成文件夹同步的时候,一位朋友留言推荐了Beyond Compare--一个强大的超越了文件差异比较的工具.Beyon ...

  2. js中接口的声明与实现

    实现接口,必须实现接口里的所有方法. function Interface(name,fns){//声明一个接口类            this.name = name;            th ...

  3. 多线程BackgroundWorker

    链接:http://www.cnblogs.com/yiyisawa/archive/2008/11/24/1339826.html 周六闲来无事,学习了多线程BackgroundWorker,以此记 ...

  4. 房产企业如何借助K2 BPM脱颖而出?

    点击这里,查看完整版房地产行业的流程管理解决方案.

  5. Jquery easyui tree的使用

    这个ui用的一切都是json数据.树也是如此! 后台需要返回与格式匹配的json数据才能正确加载树. 页面定义一个ui: <ul id="messageInfoAddTree" ...

  6. Linux(9.28-10.4)学习笔记

    三种数字表示 无符号数: 基于传统的二进制表示法,表示大于或者等于零的数字. 补码(有符号数): 表示有符号数整数的最常见的方式,有符号数就是只可 以为正或者为负的数. 浮点数: 表示实数的科学计数法 ...

  7. JDK报错Unsupported major.minor version 52.0

    一.问题描述: 新建web项目,由于我配置的Tomcat 6依赖jdk 1.8,所以新建的工程在jdk1.8环境下生成.当我把jdk改成1.6版本时,运行main方法或其他,则 报以下错误: java ...

  8. MVC5 + EF6 + Bootstrap3 (10) 数据查询页面

    文章来源:Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-search-page.html 系列教程:MVC ...

  9. WPF之TreeList的实现方法(一)

    做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求, 很多时候我们需要对现有的控件做一下加工. 最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样 今天我先做一个完 ...

  10. C#对 Dictionary进行排序 转

    C# .net 3.5 以上的版本引入 Linq 后,字典Dictionary排序变得十分简单,用一句类似 sql 数据库查询语句即可搞定:不过,.net 2.0 排序要稍微麻烦一点,为便于使用,将总 ...