- 浏览: 5102908 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
silence19841230:
先拿走看看
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
masuweng 写道发下源码下载地址吧!三个相关文件打了个包 ...
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
发下源码下载地址吧!
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
水淼火 写道你好,我使用以后,图标不显示,应该怎么引用呢,谢谢 ...
前端框架iviewui使用示例之菜单+多Tab页布局
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后执行。定时器任务类TimerTask是抽象类,继承并重写其run()方法,可实现具体任务。
schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行。
cancel()方法结束这个定时器。
schedule(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定延迟peroid的执行。
scheduleAtFixedRate(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
要实现一个定时任务,运用java中的Timer和TimerTask类可以非常容易实现实时调用处理函数。这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需要。
看个简单的例子:
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("________");
}
}
}
==========Java定时器在Web中的应用==========
在web中,定时器的启动一般随web server的启动而启动,一般有两种方法.
方法一:在web.xml里配置一个Servlet,并设置其随web server的启动而启动。然后在该Servlet的init()方法里启动定时器,在destory()方法里销毁定时器。
方法二:在web.xml里配置一个Listener,然后在该Listener的初始化方法里启动定时器,在其销毁的方法朝左销毁定时器。
在servlet中启动定时器
java 代码
import java.io.IOException;
import java.util.Timer;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
public class ConvergeDataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private Timer timer1 = null;
private Task task1;
/**
* Constructor of the object.
*/
public ConvergeDataServlet() {
super();
}
/**
* Destruction of the servlet.
*/
public void destroy() {
super.destroy();
if(timer1!=null){
timer1.cancel();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
// init方法启动定时器
public void init() throws ServletException {
ServletContext context = getServletContext();
// (true为用定时间刷新缓存)
String startTask = getInitParameter("startTask");
// 定时刷新时间(分钟)
Long delay = Long.parseLong(getInitParameter("delay"));
// 启动定时器
if(startTask.equals("true")){
timer1 = new Timer(true);
task1 = new Task(context);
timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);
}
}
}
定时执行操作
java 代码
/**
*
* @author callan
*/
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class Task extends TimerTask{
private ServletContext context;
private static boolean isRunning = true;
public Task(ServletContext context){
this.context = context;
}
@Override
public void run() {
if(isRunning){
}
}
}
在web.xml配置这个servlet为服务启动时就调用servlet
<servlet></servlet>
< servlet >
< servlet-name >taskservlet< / servlet-name >
< servlet-class >com.task< /servlet-class >
< init-param >
< param-name >startTask< /param-name >
< param-value >true< /param-value >
< /init-param >
< init-param >
< param-name >intervalTime< /param-name >
< param-value >1< /param-value >
< /init-param >
< load-on-startup >300< /load-on-startup >
< /servlet >
<servlet></servlet>
schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行。
cancel()方法结束这个定时器。
schedule(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定延迟peroid的执行。
scheduleAtFixedRate(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定频率peroid的执行。
要实现一个定时任务,运用java中的Timer和TimerTask类可以非常容易实现实时调用处理函数。这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需要。
看个简单的例子:
import java.io.IOException;
import java.util.Timer;
public class TimerTest {
public static void main(String[] args){
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 2000);//在1秒后执行此任务,每次间隔2秒,如果传递一个Data参数,就可以在某个固定的时间执行这个任务.
while(true){//这个是用来停止此任务的,否则就一直循环执行此任务了
try {
int ch = System.in.read();
if(ch-'c'==0){
timer.cancel();//使用这个方法退出任务
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static class MyTask extends java.util.TimerTask{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("________");
}
}
}
==========Java定时器在Web中的应用==========
在web中,定时器的启动一般随web server的启动而启动,一般有两种方法.
方法一:在web.xml里配置一个Servlet,并设置其随web server的启动而启动。然后在该Servlet的init()方法里启动定时器,在destory()方法里销毁定时器。
方法二:在web.xml里配置一个Listener,然后在该Listener的初始化方法里启动定时器,在其销毁的方法朝左销毁定时器。
在servlet中启动定时器
java 代码
import java.io.IOException;
import java.util.Timer;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
public class ConvergeDataServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private Timer timer1 = null;
private Task task1;
/**
* Constructor of the object.
*/
public ConvergeDataServlet() {
super();
}
/**
* Destruction of the servlet.
*/
public void destroy() {
super.destroy();
if(timer1!=null){
timer1.cancel();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
// init方法启动定时器
public void init() throws ServletException {
ServletContext context = getServletContext();
// (true为用定时间刷新缓存)
String startTask = getInitParameter("startTask");
// 定时刷新时间(分钟)
Long delay = Long.parseLong(getInitParameter("delay"));
// 启动定时器
if(startTask.equals("true")){
timer1 = new Timer(true);
task1 = new Task(context);
timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);
}
}
}
定时执行操作
java 代码
/**
*
* @author callan
*/
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class Task extends TimerTask{
private ServletContext context;
private static boolean isRunning = true;
public Task(ServletContext context){
this.context = context;
}
@Override
public void run() {
if(isRunning){
}
}
}
在web.xml配置这个servlet为服务启动时就调用servlet
<servlet></servlet>
< servlet >
< servlet-name >taskservlet< / servlet-name >
< servlet-class >com.task< /servlet-class >
< init-param >
< param-name >startTask< /param-name >
< param-value >true< /param-value >
< /init-param >
< init-param >
< param-name >intervalTime< /param-name >
< param-value >1< /param-value >
< /init-param >
< load-on-startup >300< /load-on-startup >
< /servlet >
<servlet></servlet>
发表评论
-
gradle编译错误:Could not find method compile() for arguments
2020-09-19 10:50 18185编译(IDEA+Gradle)一个别人的工程,出现一个 ... -
netty心跳检查之UDP篇
2019-09-15 08:50 2128部分UDP通信场景中,需要客户端定期发送心跳信息,以获取终 ... -
解决tomcat部署两个SpringBoot应用提示InstanceAlreadyExistsException
2019-06-30 11:49 3172两个SpringBoot应用部署在一个Tomcat中,单独 ... -
Eclipse配置MyBatis代码自动化功能
2019-06-29 10:16 16421.安装插件 Eclipse中,Help->Ecli ... -
vue.js中使用qrcode生成二维码
2019-05-20 00:00 7562一、安装包 npm install qrcodejs2 --s ... -
MySQL插入数据报错: Incorrect string value: '\xFD\xDE'
2019-03-31 23:19 1174我MySQL数据库用的uft-8字符集,插入数据一直很正常 ... -
vue自定义组件并双向绑定属性
2019-03-08 22:46 3209做了两个子组件,原理基本一样,一个是使用原生的select ... -
vue-router简单示例
2019-03-05 00:32 1089写个基本完整、稍有借鉴意义的示例,防止自己忘记。 &l ... -
“联通充值系统繁忙”轻松应对
2019-02-06 11:03 3906大过年的,联通充个值一直报“充值系统繁忙”。昨天晚上试了几 ... -
electron.js数据库应用---导航菜单(element-ui+mysql)
2019-02-05 21:33 2296一、环境搭建 略, ... -
electron.js数据库应用---入门(mysql+element-ui)
2019-01-27 23:19 7310我的机器:Windows10,64 ... -
SpringMVC 在controller层中注入成员变量request,是否线程安全
2018-12-17 21:17 2692@RestController public class ... -
VueJS 组件参数名命名与组件属性转化
2018-12-03 00:00 2007转自:https://www.cnblogs.com/meiy ... -
vue-resource拦截器实现token发送及检验自动化
2018-11-16 22:38 3042用了很长时间vue-resource,最近思考$http发 ... -
element-ui试用手记
2018-10-29 20:25 1685element-ui、iviewui都以vue.js为基础 ... -
iviewui中表格控件中render的使用示例
2018-07-07 16:46 9715示例了如何在表格中显示按钮,如何将代码转化为文字。 i ... -
Tomcat错误“Alias name tomcat does not identify a key entry”解决
2018-07-05 21:39 6186申请到了阿里云的证书后,下载、按照说明生成jks格式证书、 ... -
阿里云免费证书“fileauth.txt内容配置错误”解决
2018-07-05 20:43 5200最近研究微信小程序开发,上阿里云申请了个证书,使用文件验证 ... -
springboot2.0跨域配置
2018-07-04 22:11 5237springboot2.0跨域配置: 一、代码 ... -
微信小程序使用code换openid的方法(JAVA、SpringBoot)
2018-07-01 21:52 10294微信小程序序的代码中提示,使用code换取openid,但 ...
相关推荐
JAVA定时器,只要服务开启,就能指定某些代码在某个时刻执行,例如:监狱里罪犯的余刑天数,每天都要减少,就可以设置一个定时器在每天的23:59:59来执行减少余刑天数的天。
JAVA定时器JAVA定时器.pdf
实例助解java定时器设置及停止的方法
Java定时器的使用 Java程序 Java写的一个定时器
java定时器
java 定时器(Timer) java 定时器(Timer) java 定时器(Timer)
java定时器使用技巧
JAVA中定时器的使用,看例子学习定时器........一看就懂,一用就会
在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等。 对于这样的操作最方便、高效的实现方式就是使用java.util.Timer工具类。
java定时器,timer类操作详解 java定时器,timer类操作详解
讲解Java定时器开发
java定时器,import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; 规定每天几点执行一次
Java后台定时器代码Java后台定时器代码Java后台定时器代码Java后台定时器代码Java后台定时器代码
Java定时器简例
java定时器使用汇总.pdf
java定时器 spring定时器:包括spring定时器的详细配置以及说明 包含所需的jar包
java web 定时器例子
Java定时器.pdf
定时器类Timer在java.util包中。使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后执行。定时器任务类TimerTask是抽象类,继承并重写其run()方法...