Java的Timer以及TimerTask类可以帮助我们实现定时器功能,利用servlet监听程序可以实现WEB服务启动之后执行某些工作。两者结合就可以再web应用中实现定时器功能。

1.计划类代码Scheduler

public void sendScheduler(String dateStr){
final Timer timer = new Timer();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos = new ParsePosition(0);
Date currentTime = formatter.parse(dateStr, pos);
//计划开始运行之后每间隔1秒运行一次
timer.schedule(new TimerTask() {
@Override
public void run() {
//可以放入要执行的方法
System.out.println("计划开始了!" + i++);
timer.cancel(); //计划取消
}
}, currentTime, 1000);
}

2.编写监听

public class SchedulerListener implements ServletContextListener{

	public void contextDestroyed(ServletContextEvent arg0) {
} public void contextInitialized(ServletContextEvent arg0) {
System.out.println("服务开启时间:"+new Date());
Scheduler scheduler = new Scheduler();
scheduler.sendScheduler("2012-12-26 17:00:00");
} }

3.监听配置

<listener>
<listener-class>org.chh.scheduler.listener.SchedulerListener</listener-class>
</listener>

最新文章

  1. [转]C#反射,根据反射将数据库查询数据和实体类绑定,并未实体类赋值
  2. 可变长子网掩码 VLSM
  3. 如何运用CSS写小三角
  4. Flink - metrics
  5. Android开发之 Android 的基本组件的概述
  6. 经历:如何设置jquery easyui中下拉框不可编辑
  7. jQuery中bind,live,delegate与one方法的用法及区别解析
  8. 关于闭包与for循环的理解
  9. 【idea设置】去掉IntelliJ IDEA 中 mybatis 对应的 xml 文件警告
  10. Zipkin Server Configuration Using Docker and MySQL[转]
  11. Springboot整合二 集成 rabbitmq
  12. 清除微信小程序的缓存
  13. [Android Security] DEX文件格式分析
  14. perl学习(二)正则表达式
  15. VS2010安装包制作全过程图解
  16. 再议js的传递和深复制
  17. 【Python】实现将Excel编写的用例上传到testlink指定用例集
  18. LR中的迭代次数设置
  19. centeros7的redis-cli命令不生效解决方法(亲测)
  20. 一直没有敢发的NOIP2018游记

热门文章

  1. Maven - Eclipse例子
  2. SAP_BASIS常用事务代码
  3. POJ 1836:Alignment
  4. caffe + ssd网络训练过程
  5. FTP和HTTP
  6. Q3:Longest Substring Without Repeating Characters
  7. Mac电脑如何彻底删除node
  8. 解决XML警告&quot;No grammar constraints (DTD or XML Schema) referenced in the document&quot;
  9. 第二季第六天 part2 css动画
  10. Java中常用的API(二)——String