定时任务 java(实例)

如果是服务器启动时就要开始执行,就需要用listener,这样需要在web.xml中增加配置。
如果要点击触发,就在触发类中调用timer,

触发类---
Java代码
  1. importjava.util.Timer;
  2. importjavax.servlet.ServletContextEvent;
  3. importjavax.servlet.ServletContextListener;
  4. publicclassTimerTestActionimplementsServletContextListener{
  5. privateTimertimer;
  6. publicvoidcontextDestroyed(ServletContextEventservletcontextevent){
  7. timer.cancel();
  8. servletcontextevent.getServletContext().log("定时器销毁~~~");
  9. System.out.println("定时任务结束~~");
  10. }
  11. publicvoidcontextInitialized(ServletContextEventservletcontextevent){
  12. System.out.println("定时任务开始~~");
  13. timer=newTimer(true);
  14. timer.schedule(newTimerRunAction(servletcontextevent.getServletContext()),0,5*1000);
  15. }
  16. }

定时器----
Java代码
  1. importjava.util.Calendar;
  2. importjava.util.TimerTask;
  3. importjavax.servlet.ServletContext;
  4. publicclassTimerRunActionextendsTimerTask{
  5. privatestaticfinalintC_SCHEDULE_HOUR=0;
  6. privatestaticbooleanisRunning=false;
  7. privateServletContextcontext=null;
  8. publicTimerRunAction(ServletContextcontext){
  9. this.context=context;
  10. }
  11. @Override
  12. publicvoidrun(){
  13. Calendarc=Calendar.getInstance();
  14. if(!isRunning){
  15. if(C_SCHEDULE_HOUR==c.get(Calendar.HOUR_OF_DAY)){
  16. context.log("kaishizhixingzhidingrenwu~~");
  17. }
  18. else{
  19. context.log("shangyicirenwuzhixinghaiweijieshu~~~");
  20. }
  21. }
  22. }
  23. }

这个是用listener做触发, 你可以根据自己的需要写自己的触发类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值