JAVA的定时任务
来源:互联网 发布:贵州大数据发展报告 编辑:程序博客网 时间:2024/05/22 15:47
1. 监听器
import java.util.Calendar;import java.util.Timer;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;import com.suoya.upload.task.MyTask;public class TaskListener implements ServletContextListener { /** * 每天的毫秒数 ,时间间隔一天 */ public static final long PERIOD_DAY=24 * 60 * 60 * 1000; /** * 无延迟 */ public static final long NO_DELAY = 0; /** * 定时器 */ private Timer timer; /** * 在Web应用启动时初始化任务 */ public void contextInitialized(ServletContextEvent event) { //定义定时器 timer = new Timer("执行定时任务",true); Calendar cal = Calendar.getInstance(); //每天定点执行 cal.set(Calendar.HOUR_OF_DAY,12); cal.set(Calendar.MINUTE,0); cal.set(Calendar.SECOND,0); timer.schedule(new MyTask(),cal.getTime(), PERIOD_DAY); } /** * 在Web应用结束时停止任务 */ public void contextDestroyed(ServletContextEvent event) { timer.cancel(); // 定时器销毁 } }
2. 自定义定时任务
import java.util.TimerTask;/** * 自定义定时任务,web容器启动的时候启动 * @author sunt * @dade 2017年4月27日下午3:45:07 * @version v1.0 */public class MyTask extends TimerTask { private static boolean isRunning = false; @Override public void run() { if (!isRunning) { isRunning = true; System.out.println("开始执行任务..."); // 开始任务 System.out.println("====================>开始定时调用业务逻辑功能..."); System.out.println("执行任务完成..."); // 任务完成 isRunning = false; } else { System.out.println("上一次任务执行还未结束..."); //上一次任务执行还未结束 } } }
3. web容器配置监听器
<!-- 监听器的配置 --> <listener> <listener-class>com.suoya.upload.linster.TaskListener</listener-class> </listener>
4. 执行定时任务
MyTask 中run()方法调用定时逻辑的方法
//代表每天十二点执行一次cal.set(Calendar.HOUR_OF_DAY,12);cal.set(Calendar.MINUTE,0);cal.set(Calendar.SECOND,0);//设置其他执行时间修改对应的时分秒即可
0 0
- JAVA的定时任务
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- 体验java的定时任务
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- Java定时任务的实现
- 函数分组学通MongoDB——细说高级操作
- 关于大量数据去重的基本算法思路
- Java设计模式之责任链模式
- 一次算法的实践(跟进中。。)
- 介绍一下Struts的ActionServlet类
- JAVA的定时任务
- Servlet练习题
- [HackerRank-World CodeSprint 6]Functional Palindromes
- Mybatis查询延迟加载
- echars 地图应用
- 数据库没有对约束设置名称如何删除约束(oracle)
- 安卓中使图片进行旋转(资源整理)
- Spring Boot 学习16--处理静态资源
- 2017暑期实习招聘-产品经理-腾讯IMG(1)