备注:类实现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. HDU 1102 Constructing Roads

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  2. HDU 4406 最大费用最大流

    题意:现有m门课程需要复习,已知每门课程的基础分和学分,共有n天可以复习,每天分为k个时间段,每个时间段可以复习一门课程,并使这门课程的分数加一,问在不挂科的情况下最高的绩点. 思路:(没做过费用流的 ...

  3. 深入理解maven及应用--转

    (一):生命周期和插件 在项目里用了快一年的maven了,最近突然发现maven项目在eclipse中build时非常慢,因为经常用clean install命令来build项目,也没有管那么多,但最 ...

  4. 通过JDBC进行简单的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  5. MongoDB学习(一)简介

    本篇主要简单介绍一下MongoDB数据库. 一.简介 mongoDB是一个开源的,基于分布式的,面向文档存储的非关系型数据库.是非关系型数据库当中功能最丰富.最像关系数据库的. mongoDB由C++ ...

  6. java 15 -3 集合的遍历的练习

    练习:用集合存储5个动物对象,并把动物对象进行遍历. 分析: A:创建动物类 a:无参构造方法 b:有参构造方法 c:get.set方法 B:创建集合对象 a:Collection animal = ...

  7. Dvwa writeup

    DVWA(Dam vulnerable Web Application)是使用PHP+Mysql编写的一套用于常规漏洞教学和漏洞挖掘的一个测试学习程序,在此程序中包含了常见的web方面的漏洞,如命令行 ...

  8. 【WPF】WPF通过RelativeSource绑定父控件的属性

    1.后台代码实现绑定父控件的属性 RelativeSource rs = new RelativeSource(RelativeSourceMode.FindAncestor); //设定为离自己控件 ...

  9. C语言 文件操作8--fputs()和fgets()

    //fputs()和fgets() #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> # ...

  10. SRTM数据介绍与说明

    一.SRTM 的背景引言 美国利用航天飞机搭载成像雷达对地进行观测始于20 世纪80 年代初.1982 年11 月和1985 年10 月, 美国分别进行了两次称为S IR2A 与S IR2B 的航天飞 ...