java web实现计划定时任务 java web实现计划定时任务

java web实现计划定时任务

 

java web实现定时计划任务

1.定义一个类继承TimerTask,在run方法中写上需要执行的逻辑

复制代码
package com.mytask;

import java.util.TimerTask;

public class MyTimeTask extends TimerTask{
    
    public void run() {
        System.out.println("执行任务");
    }
}
复制代码

2.定义一个任务监听类,实现ServletContextListener 接口

复制代码
package com.mytask;

import java.util.Timer;

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

public class TaskManager  implements ServletContextListener {

    private Timer timer = null;
    
    @Override
    public void contextInitialized(ServletContextEvent event) {
        // TODO 自动生成的方法存根
        timer = new java.util.Timer(true);
        System.out.println("------------定时器已启动----------------");
        //arg1:timertask
        //arg2:延迟时间
        //arg3:第一次调用之后,从第二次开始每隔多长的时间调用一次
        timer.schedule(new MyTimeTask(), 0, 10000);
        System.out.println("------------已经添加任务调度表-------------");
    }
    
    @Override
    public void contextDestroyed(ServletContextEvent event) {
        // TODO 自动生成的方法存根
        System.out.println("--------------定时器销毁-------------");
        timer.cancel();
    }

}
复制代码

3.在web.xml配置上该监听

<listener>
      <listener-class>com.mytask.TaskManager</listener-class>
</listener>

java web实现定时计划任务

1.定义一个类继承TimerTask,在run方法中写上需要执行的逻辑

复制代码
package com.mytask;

import java.util.TimerTask;

public class MyTimeTask extends TimerTask{
    
    public void run() {
        System.out.println("执行任务");
    }
}
复制代码

2.定义一个任务监听类,实现ServletContextListener 接口

复制代码
package com.mytask;

import java.util.Timer;

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

public class TaskManager  implements ServletContextListener {

    private Timer timer = null;
    
    @Override
    public void contextInitialized(ServletContextEvent event) {
        // TODO 自动生成的方法存根
        timer = new java.util.Timer(true);
        System.out.println("------------定时器已启动----------------");
        //arg1:timertask
        //arg2:延迟时间
        //arg3:第一次调用之后,从第二次开始每隔多长的时间调用一次
        timer.schedule(new MyTimeTask(), 0, 10000);
        System.out.println("------------已经添加任务调度表-------------");
    }
    
    @Override
    public void contextDestroyed(ServletContextEvent event) {
        // TODO 自动生成的方法存根
        System.out.println("--------------定时器销毁-------------");
        timer.cancel();
    }

}
复制代码

3.在web.xml配置上该监听

<listener>
      <listener-class>com.mytask.TaskManager</listener-class>
</listener>

猜你喜欢

转载自www.cnblogs.com/hahajayou/p/13366909.html