JAVA定时任务的简单实现
Java定时任务的简单实现
2011-01-02 18:34:43| 分类: 软件开发 | 标签:void timer import param dateutil |字号大中小 订阅
Spring为我们提供了很方便的定时任务处理,但是不用Spring呢?JDK也给提供了一个简单的定时任务处理,废话不多说,贴上源码
package com.yhj.timeTask;< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />
import java.util.TimerTask;
import com.yhj.common.date.DateUtil;
/**
* 要执行的定时任务
* com.yhj.timeTask.PrintTask.java
* @author 一线天色 天宇星辰 创建于 2011-1-2 下午04:24:01
*/
public class PrintTask extends TimerTask {
@Override
public void run() {
System.out.println(DateUtil.getCurrentChineseDate());
}
}
package com.yhj.timer;
import java.text.ParseException;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import com.yhj.common.date.DateUtil;
import com.yhj.timeTask.PrintTask;
/**
* 计时器
* com.yhj.timer.PrintTimer.java
* @author 一线天色 天宇星辰 创建于 2011-1-2 下午04:24:49
*/
public class PrintTimer {
/**
* 计时器
*/
private Timer timer =new Timer();
/**
* 每天执行一次
* @param task
* @param time 要求执行格式 hh:mn:ss
* @author 一线天色 天宇星辰 创建于 2011-1-2 下午04:28:11
* @throws InterruptedException
* @throws ParseException
*/
public void doEveryDay(TimerTask task,String time) throws InterruptedException, ParseException {
time=DateUtil.getCurrentDateStr().substring(0,11)+time;
long milliSeconds=DateUtil.compare(new Date(), DateUtil.praseDate(time), DateUtil.ONE_MILLI_SECOND);
Thread.sleep(Math.abs(milliSeconds));
timer.scheduleAtFixedRate(task,new Date(), DateUtil.ONE_DAY);
}
/**
* 在某个时间点执行一次
* @param task
* @param date
* @author 一线天色 天宇星辰 创建于 2011-1-2 下午04:29:29
*/
public void doOnce(TimerTask task,Date date) {
timer.schedule(task, date);
}
/**
* 每隔多长时间执行一次
* @param task
* @param milliSeconds
* @author 一线天色 天宇星辰 创建于 2011-1-2 下午04:53:54
*/
public void doWithRepeat(TimerTask task,long milliSeconds) {
timer.scheduleAtFixedRate(task,0, milliSeconds);
}
}
package com.yhj.clint;
import com.yhj.timeTask.PrintTask;
import com.yhj.timer.PrintTimer;
public class Clint {
/**
* @param args
* @author 一线天色 天宇星辰 创建于 2011-1-2 下午04:55:19
*/
public static void main(String[] args) {
new PrintTimer().doWithRepeat(new PrintTask(), 1000);
}
}
对于该调用哪个方法呢?参见JDK(如下)
方法摘要 |
|
void |
cancel() |
int |
purge() |
void |
schedule(TimerTask task, Date time) |
void |
schedule(TimerTask task, Date firstTime, long period) |
void |
schedule(TimerTask task, long delay) |
void |
schedule(TimerTask task, long delay, long period) |
void |
scheduleAtFixedRate(TimerTask task, Date firstTime, long period) |
void |
scheduleAtFixedRate(TimerTask task, long delay, long period) |
JAVA定时任务的简单实现相关推荐
- java定时任务_定时任务最简单的3种实现方法(超好用)
定时任务在实际的开发中特别常见,比如电商平台 30 分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现,那么我们本文就来看一下定时任务最简单的几种实现方式. TOP 1: ...
- java 客户端定时任务_定时任务最简单的3种实现方法(超实用)
定时任务在实际的开发中特别常见,比如电商平台 30 分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现,那么我们本文就来看一下定时任务最简单的几种实现方式. TOP 1: ...
- java定时任务框架elasticjob详解
这篇文章主要介绍了java定时任务框架elasticjob详解,Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架.该项目基于成熟的开源产品Quartz和Zo ...
- Springboot2 Quartz实现JAVA定时任务的动态配置
动态配置Quartz.没接触过定时任务的同学可以先看下此篇:JAVA定时任务实现的几种方式 文章目录 一.需求背景 1. 问题现象 2. 问题分析 3. 解决方案 二.需求背景 2.1. maven依 ...
- Java定时任务(一) Timer及TimerTask的案例解析及源码分析
Java定时任务(一) Timer及TimerTask的案例解析及源码分析 一.概述: 定时任务这个概念在Java的学习以及项目的开发中并不陌生,应用场景也是多种多样.比如我们会注意到12306网站 ...
- Java定时任务技术分析
<从零打造项目>系列文章 工具 比MyBatis Generator更强大的代码生成器 ORM框架选型 SpringBoot项目基础设施搭建 SpringBoot集成Mybatis项目实操 ...
- Java 定时任务详解
文章目录 单机定时任务技术选型 Timer ScheduledExecutorService Spring Task 时间轮 分布式定时任务技术选型 Quartz Elastic-Job XXL-JO ...
- Java定时任务(2)
Java定时任务(2) 上次浅显的分析了Timer及TimerTask的调度原理,这里我们再来看一下另一种定时调度方式ScheduledThreadPoolExecutor的内部执行原理. Sched ...
- Java中的简单工厂模式(转)
Java中的简单工厂模式 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:"天地开辟,未有人民,女娲抟土为人."女娲需要用土造出一个个的人,但在女娲造出人之前, ...
最新文章
- SQL Server 2005系列教学(6) 多表操作及子查询
- MAC + Tomcat——部署Web项目时Tomcat启动成功,但部署的Web项目404错误
- c#图像处理入门(-bitmap类和图像像素值获取方法)
- 证书体系: PFX 文件格式解析
- layui使用弹出层 关闭后弹层的内容又显示出来
- 六界仙尊h5服务器维护多久,《六界仙尊》5月6日更新维护 公开虚天BOSS坐标
- 算法笔记(二)——浅析最好、最坏、平均、均摊时间分析方法
- 联想计算机怎样分区,怎么给联想笔记本硬盘分区【图文】
- 金蝶K3WISE无窗口登录
- QQIP纯真数据库调用全国省市地址
- android aoto未解锁,【求教】为什么我的解锁屏幕代码缺无法解锁屏幕
- 运行pixellib出现错误
- 基于RuoYi框架快速搭建自己的后台管理系统
- 华为OD机试 - 无向图染色
- 网易2018校园招聘编程题真题集合1魔法币
- 关键路径法(CPM)
- “美亚杯”第二届中国电子数据取证大赛答案解析(团体赛)
- 三峡大学计算机学院毕业答辩问题,毕业答辩会问点什么问题?
- PageHelper在springboot中的使用
- 几种常用非关系型数据库
热门文章
- 用人话解释比特币原理
- linux下DNS服务器的搭建
- 问题十七:怎么用ray tracing画多个球?
- Python思维导图框架总结
- 如何做好数据质量管理
- 解析mysqlbinlog日志_关于mysql-binlog日志解析框架
- 基于深度学习的数字识别GUI的设计
- java scanner以回车结束_大佬看了直呼内行,你当初Java刚入门是否也是这样写代码?...
- 青岛大学计算机科学与技术类专业,青岛大学2017年大类招生专业类代码及所含专业说明...
- matlab libjli.so,error while loading shared libraries: libjli.so 问题解决