JavaWeb如何设置定时任务

1.在xml文件中添加监听器

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <listener>
  <listener-class>com.tct.test.ContextListener</listener-class>
 </listener>
</web-app>

2.编写定时任务Java代码

package com.tct.test;  

    import java.util.Timer;  

    import javax.servlet.ServletContextEvent;  
    import javax.servlet.ServletContextListener;  

    public class ContextListener implements ServletContextListener {  
        Timer timer = new Timer() ;  

       public void contextInitialized(ServletContextEvent event) {  
           timer = new java.util.Timer(true);   


           event.getServletContext().log("定时器已启动");           

            timer.schedule(new MyTask(event.getServletContext()), 0,1000);   

           event.getServletContext().log("已经添加任务调度表");   


       }  

       public void contextDestroyed(ServletContextEvent event) {  

           timer.cancel();  

           event.getServletContext().log("定时器以销毁");  
       }  

   }  

   package com.tct.test;  

   import java.util.TimerTask;  

   import javax.servlet.ServletContext;  

   public class MyTask extends TimerTask {  
       private static boolean isRunning = false;   
       private ServletContext context = null;   
       public MyTask(ServletContext servletContext) {  
           this.context = servletContext;  
       }  
       @Override  
       public void run() {  
         if(!isRunning)  
         {  
           isRunning = true;  
           context.log("开始执行指定任务");   
           isRunning = false;  
         }  
         else  
         {  
             context.log("上次的任务还未执行完成");  
         }  
       }  
   }  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值