说明:每隔10秒执行一次方法。
<listener>
<listener-class>contextListener.ContextListener</listener-class>
</listener>
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ContextListener implements ServletContextListener {
java.util.Timer timer = Time.getSingle();
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
event.getServletContext().log("定时器已启动");
System.out.println("*******************定时器已启动");
timer.schedule(new MyTask(event.getServletContext()), 0, 10*1000);
System.out.println("********************已经添加任务调度表");
event.getServletContext().log("已经添加任务调度表");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
System.out.println("*************定时器销毁");
event.getServletContext().log("定时器销毁");
}
}
class Time{
private Time() {}
private static java.util.Timer timer = null;
public static java.util.Timer getSingle() {
if(timer == null){
timer = new java.util.Timer();
}
return timer;
}
}
import javax.servlet.ServletContext;
public class MyTask extends java.util.TimerTask{
private ServletContext context = null;
public MyTask(ServletContext context) {
this.context = context;
}
public void run() {
System.out.println("开始执行方法");
}
}
分享到:
相关推荐
Java 定时任务是指在 Java 语言中实现的定时执行任务的机制,通过使用 Timer 和 TimerTask 两个类,可以实现定时执行任务的功能。在这个例子中,我们将实现每天定时执行任务的功能,具体来说,就是在每天的凌晨 2 点...
对于定时任务,我们可以创建一个实现了`ServletContextListener`接口的类,这个类将在Web应用启动时初始化,关闭时清理。 例如,创建一个名为`TimerTaskListener`的类: ```java import javax.servlet....
在Java Web应用中,为了使定时任务在服务器启动时自动运行,通常会将任务注入到一个Servlet容器初始化参数(如`ServletContextListener`)中。当Web应用加载时,监听器会启动任务。此外,Spring Boot提供了`@...
当使用Spring框架时,可以利用Spring的定时任务支持。通过`ScheduledTimerTask`,我们可以方便地在Spring配置文件中声明和管理定时任务。配置示例: ```xml <!-- TimerFactoryBean配置 --> <!-...
然后在`@Configuration`类中使用`@EnableScheduling`开启定时任务扫描: ```java @Configuration @EnableScheduling public class AppConfig { // 其他配置... } ``` 3. **部署到Web环境:** 由于我们的...
`ServletContextListener`则为Web应用提供了与生命周期紧密结合的定时任务管理;而Spring框架的定时任务支持则更为强大和灵活,适合于复杂的企业级应用。在实际开发中,应综合考虑性能、可维护性和扩展性等因素,...
在这个场景中,我们将使用一个特定的监听器,即ServletContextListener,来实现定时任务。 1. **ServletContextListener**:这是Java Web中的一种监听器,用于监听ServletContext对象的生命周期事件。我们可以通过...
event.getServletContext().log("Web容器关闭时,取消定时任务"); } } } ``` 在这个监听器中,我们创建了一个定时器对象`timer`,并在Web容器启动时初始化定时器,设置具体的任务和执行间隔时间。同时,在Web...
这里介绍两种方法来实现定时任务:使用监听器注入和使用 Spring 注解 @Scheduled 注入。 一、使用监听器注入 使用监听器注入是 Java 中一种常见的方法来实现定时任务。我们可以创建一个监听器类,继承自 ...
通过示例代码,我们将展示如何使用Spring监听器和定时任务来实现批处理任务的执行。 Spring监听器 在Spring框架中,监听器是指实现ServletContextListener接口的类,用于监听ServletContext的生命周期事件。监听器...
在Java Web开发中,`ServletContextListener`、`Timer`和`TimerTask`是三个非常重要的概念,它们分别涉及Web应用程序的生命周期管理、定时任务的执行和控制。下面将详细讲解这三个概念及其应用。 首先,`...
如果希望任务定期执行,而不是仅在启动时运行,还可以使用`ScheduledExecutorService`或者Spring框架的`@Scheduled`注解来创建更复杂的定时任务调度。 总结来说,Java定时执行可以通过多种方式实现,包括`java.util...
在Java Web环境中,通常使用两种主要方法来实现定时任务:通过Servlet或者通过ServletContextListener。 首先,我们来看第一种方法,即通过在`web.xml`中配置Servlet来实现定时任务。这里我们创建一个Servlet类,...
在Java Web开发中,添加定时任务是常见的需求...然而,需要注意的是,这种方式的定时任务在Web容器停止时也会停止,如果需要独立于Web容器运行的定时任务,可以考虑使用 Quartz 或 Spring 的 `@Scheduled` 注解等方式。
1. ServletContextListener:创建一个实现了ServletContextListener接口的类,重写contextInitialized方法,在Web应用启动时初始化定时任务。 2. Filter:利用Filter,可以在每次请求前或后执行定时任务,但这可能会...
本文将介绍如何使用 Quartz 实现定时执行任务,并配置 web.xml 文件。 Quartz 定时执行任务 Quartz 定时执行任务可以通过使用 CronTrigger 实现,以便于在特定的时间点执行任务。CronTrigger 使用 Cron 表达式来...
因为是通过接口传送数据,所以我就新建了一个web项目,在web.xml配置文件里配置一个监听器,然后该监听器再继承HttpServlet,同时实现ServletContextListener接口,很简单的一个定时任务的demo,可供大家参考。
如果你是在Web环境下使用定时任务,可以将任务的初始化放在一个监听器(如 `ServletContextListener`)中,这样服务器启动时就会自动执行。例如,在 `web.xml` 中配置: ```xml <listener-class>...
本实例将通过一个简单的例子来讲解如何使用Java实现定时任务。 首先,我们来看核心的`TimerManager`类。这个类的主要作用是创建并启动定时任务。`PERIOD_DAY`常量表示一天的时间间隔,单位为毫秒。`TimerManager`的...