定时器tasktimer
1、web.xml中配置
<servlet>
<servlet-name>TaskTimer</servlet-name>
<servlet-class>com.XXXXX.controller.TaskTimer</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
2、写实现方法
package com.XXX.controller; import java.util.Date;
import java.util.Timer;
import java.util.TimerTask; import javax.servlet.http.HttpServlet; public class TaskTimer extends HttpServlet{ private static final long serialVersionUID = 1L; public void init(){
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println(new Date()+"-----Hello !!!");
}
}, 1000*5, 1000*3);//第二个参数为多少毫秒后启动,第三个参数为每个多少毫秒执行一次
}
}
若在TaskTimer中调用service,用@Autowired注入,启动项目会报空指针错误,原因及分析可查看此文档
因此对代码进行修改
package com.XXXX.controller; import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask; import javax.servlet.ServletContextEvent;
import javax.servlet.http.HttpServlet; import org.springframework.stereotype.Controller;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils; @Controller
public class TaskTimer extends HttpServlet{
private static final long serialVersionUID = 1L; public void init(){
final ServletContextEvent sce = new ServletContextEvent(getServletContext());
Timer timer = new Timer();
timer.schedule(new TimerTask() {
//获得Spring容器
WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
//从Spring容器中获得SelectDataServlet的实例
private Service service = ctx.getBean(service.class);public void run() {
System.out.println("已经开始跑定时器");
//定时器主体,此处可调用service实体
}
}, 1000*5, 1000*60*60*24);
}
}
定时器tasktimer的更多相关文章
- java定时器学习
一.这个是利用jdk自带的Thread类的sleep方法实现定时执行任务. package tasker; import java.util.Date; public class tasker01 e ...
- Objective-C三种定时器CADisplayLink / NSTimer / GCD的使用
OC中的三种定时器:CADisplayLink.NSTimer.GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 @interface CADisplayLin ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- [Java定时器]用Spring Task实现一个简单的定时器.
今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...
- Node+fs+定时器(node-schedule)+MySql
目标:将本人写博客时候的截图保存到桌面的图片 执行保存到指定文件进行整理 并写入数据库 先看最终的目录结构: package.json文件: { "name": "zqz ...
- 深入理解定时器系列第一篇——理解setTimeout和setInterval
× 目录 [1]setTimeout [2]setInterval [3]运行机制[4]作用[5]应用 前面的话 很长时间以来,定时器一直是javascript动画的核心技术.但是,关于定时器,人们通 ...
- 前端开发:setTimeout与setInterval 定时器与异步循环数组
前端开发:setTimeout与setInterval 定时器与异步循环数组 前言: 开通博客园三个月以来,随笔记录了工作中遇到的大大小小的难题,也看过无数篇令人启发的文章,我觉得这样的环境是极好的, ...
- 转载---javascript 定时器总结
转载:http://www.jb51.net/article/40193.htm JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延 ...
- Node中的定时器详解
在大多数的业务中,我们都会有一些需求,例如几秒钟实现网页的跳转,几分钟对于后台数据进行清理,node与javascript都具有将代码延迟一段时间的能力.在node中可以使用三种方式实现定时功能:超时 ...
随机推荐
- imx6q GPIO功能的用法
假如我们要使用扩展口的第11脚EIM_D18. 先在arch/arm/plat-mxc/include/mach/iomux-mx6q.h中找有EIM_18. 能够找到MX6Q_PAD_EIM_D18 ...
- 【hdu3966】Aragorn's Story
题意:给一棵树,并给定各个点权的值,然后有3种操作:I C1 C2 K: 把C1与C2的路径上的所有点权值加上KD C1 C2 K:把C1与C2的路径上的所有点权值减去KQ C:查询节点编号为C的权值 ...
- how to modify vs2017
https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio 直接用everything搜索vs_install ...
- 【OI新闻】2016.10.26 - NOIP初赛泄题再次引爆
有点劲,开车注意点,小心翻啦~ http://www.noi.cn/noi-news/noi/743-ccfnoip2016 CCF在NOIP2016初赛结束后接到举报:初赛前(22日12时左右),网 ...
- 【HDU 2010】水仙花数
http://acm.hdu.edu.cn/showproblem.php?pid=2010 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位 ...
- python 视频逐帧保存为图片
import cv2 import os def save_img(): video_path = r'F:\test\video1/' videos = os.listdir(video_path) ...
- POJ2451 Uyuw's Concert (半平面交)
POJ2451 给定N个半平面 求他们的交的面积. N<=20000 首先参考 POJ1279 多边形的核 其实就是这里要求的半平面交 但是POJ1279数据较小 O(n^2)的算法 看起来是 ...
- bzoj1604
treap+并查集 我们能想到一个点和最近点对连接,用并查集维护,但是这个不仅不能求,而且还是不对的,于是就看了题解 把距离转为A(x-y,x+y),这样两点之间的距离就是max(x'-X',y'-Y ...
- iOS核心动画以及UIView动画的介绍
我们看到很多App带有绚丽狂拽的特效,别出心裁的控件设计,很大程度上提高了用户体验,在增加了实用性的同时,也赋予了app无限的生命力.这些华丽的效果很多都是基于iOS的核心动画原理实现的,本文介绍一些 ...
- 19.Extjs主页面显示js
1. /** * @author sux * @time 2011-1-11 * @desc main page */ var mainPage = Ext.extend(Ext.Viewport,{ ...