JAVA TIMER定时器
备注:类实现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定时器的更多相关文章
- JAVA Timer定时器使用方法(二)
JAVA Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...
- JAVA Timer定时器使用方法
JAVA Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...
- java Timer定时器管理类
1.java timer类,定时器类.启动执行定时任务方法是timer.schedule(new RemindTask(), seconds*1000);俩参数分别是TimerTask子类,具体执行定 ...
- Java Timer定时器时,每次重复执行了两次任务的解决方案
web.xml监听配置 com.numenzq.mc.service.impl.TimerListener TimerListener类 public class TimerListener impl ...
- Java Timer 定时器的使用
设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...
- JAVA Timer定时器使用方法(一)
设置定时任务很简单,用Timer类就搞定了. 一.延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行. 代码如下:package test;i ...
- Java Timer定时器原理
做项目很多时候会用到定时任务,比如在深夜,流量较小的时候,做一些统计工作.早上定时发送邮件,更新数据库等.这里可以用Java的Timer或线程池实现.Timer可以实现,不过Timer存在一些问题.他 ...
- Java进阶(十八)Java实现定时器(Timer)
Java实现定时器(Timer) 绪 在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类.java.u ...
- java之定时器任务Timer用法
在项目开发中,经常会遇到需要实现一些定时操作的任务,写过很多遍了,然而每次写的时候,总是会对一些细节有所遗忘,后来想想可能是没有总结的缘故,所以今天小编就打算总结一下可能会被遗忘的小点: 1. pub ...
随机推荐
- HDU 1085 Holding Bin-Laden Captive --生成函数第一题
生成函数题. 题意:有币值1,2,5的硬币若干,问你最小的不能组成的币值为多少. 解法:写出生成函数: 然后求每项的系数即可. 因为三种硬币最多1000枚,1*1000+2*1000+5*1000=8 ...
- 自定义表单验证$setValidaity
- 15Spring_AOP编程(AspectJ)_抛出通知
- /etc/profile和~/.bash_profile的区别
/etc/profile是全局的,是私有的 /etc/profile用于整个系统所有用户, ~/.bash_profile, ~/.profile和~/.bashrc 用于各个用户,这里的" ...
- workerman & swoole
Socket 开发 workerman swoole swoole与phpdaemon/reactphp/workerman等纯PHP网络库的差异
- Linux常用指令---快捷键
Linux下快捷键使用 Ctrl + a 切换到命令行开始 这个操作跟Home实现的结果一样的,但Home在某些unix环境下无法使用,便可以使用这个组合:在Linux下的vim,这个也是有效的:另外 ...
- Sublime Text 之运行 ES6 (基于babel)
本文同步自我的个人博客:http://www.52cik.com/2015/10/21/sublime-text-run-es6.html 之前在博客园里写过一篇<Sublime Text 之运 ...
- 浅析Java异常
1.什么是异常 结构不佳的代码不能运行,这是Java的基本理念. 发现错误的理想时机是在编译期.然而,编译器并不能发现所有的错误,余下的问题就需要在程序运行时解决.这就需要错误能通过某种方式,把适当的 ...
- IE8/9的console之坑
这几天遇到个深坑,在改别人代码时,发现ajax在ie8下请求不成功.清理了缓存后,可以请求成功!(清理缓存只是表象而已,后文说原因) 后来慢慢看代码,发现ajax成功回调了!在success回调里,我 ...
- Java并发编程-ReentrantLock
代码示例: Lock lock = new ReentrantLock(); lock.lock(); try { // update object state } finally { lock.un ...