`
hugang357
  • 浏览: 188359 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

web应用每晚12点定时执行程序代码实例

    博客分类:
  • java
阅读更多

1、当前web应用的web.xml文件配置容器监听类com.isoftstone.zfmi.listen.ZfmiContextListener

-------------------------------------------------------------------------------------

<listener>
   <listener-class>
    com.isoftstone.zfmi.listen.ZfmiContextListener
   </listener-class>
</listener>

-------------------------------------------------------------------------------------

在<filter-mapping>后,<servlet>元素之前

2、容器监听类com.isoftstone.zfmi.listen.ZfmiContextListener

在应用初始化和结束时,分别执行其覆盖的contextInitialized() 和contextDestroyed()方法,在contextInitialized()方法里,通过定时器timer的schedule(new FinDataTimerTask(),operTime, 86400000)方法在指定时间反复执行 FinDataTimerTask()对象中run()方法的操作,operTime 为指定初次执行时间,86400000)为反复执行时间间隔毫秒数,当前设定为一天,调试时可设短。

ZfmiContextListener.java:

-------------------------------------------------------------------------------------

package com.isoftstone.zfmi.listen;

import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;

import org.apache.log4j.Logger;

public class ZfmiContextListener extends HttpServlet implements
   ServletContextListener {
Logger log = Logger.getLogger(this.getClass());
Timer timer = new Timer();

Date operTime;
public void service(ServletRequest request, ServletResponse response)
    throws ServletException, IOException {//

}

public void contextInitialized(ServletContextEvent sce) {
   log.info("\n 执行应用监听器初始方法      initialcontext....");
  
   Calendar now=Calendar.getInstance();
   now.add(Calendar.DATE, 1);
   now.set(Calendar.HOUR_OF_DAY, 0);
   now.set(Calendar.MINUTE, 0);
   now.set(Calendar.SECOND, 0);
   now.set(Calendar.MILLISECOND, 0);
   log.info("\n时间now为:   "+now.toString()+"     毫秒数:"+now.getTimeInMillis());
   operTime=new Date(now.getTimeInMillis());
   log.info("\n预设初始执行时间为:   "+operTime);
   timer.schedule(new FinDataTimerTask(),operTime, 86400000); //一天执行一次
//   timer.schedule(new FinDataTimerTask(),operTime, 10000);   //10秒钟执行一次,调试可用
}

public void contextDestroyed(ServletContextEvent sce) {
   log.info("\n 执行应用监听器结束方法       destory context....");
   timer.cancel();
}
}

-------------------------------------------------------------------------------------

3、定时任务类com.isoftstone.zfmi.listen.FinDataTimerTask

继承TimerTask,需要定时执行的操作写在其覆盖的run()方法里面

FinDataTimerTask.java:

-------------------------------------------------------------------------------------

package com.isoftstone.zfmi.listen;

import java.util.TimerTask;

import org.apache.log4j.Logger;

public class FinDataTimerTask extends TimerTask {
Logger log = Logger.getLogger(this.getClass());

public void run() {
   //定时进行的操作
   log.info("\n时间到,正在执行定时预设的操作....");
  
}
}

-------------------------------------------------------------------------------------

分享到:
评论
1 楼 qw123456lulu 2011-08-05  
写的很清晰。

相关推荐

    Linux定时执行程序Cronb.docx

    【Linux定时执行程序Cron】 在Linux系统中,Cron是一个强大的定时任务调度器,用于在特定时间执行预设的任务。对于系统维护和自动化工作流程来说,Cron扮演着至关重要的角色。根据提供的描述,我们需要在客户服务器...

    java轻松实现—定时任务

    `contextInitialized`方法在Web应用启动时调用,创建了一个`Timer`实例并安排了任务的执行。`contextDestroyed`方法在Web应用关闭时调用,取消所有定时任务以避免内存泄漏。 接下来,在`web.xml`文件中配置这个监听...

    定时开关指定程序

    在IT领域,定时开关指定程序是一项实用的技术,它允许用户预先设定特定的时间点来自动启动或关闭特定的应用程序。这在许多场景下都非常有用,比如节能、自动化工作流程或者确保某些任务在特定时间执行。本程序是原创...

    定时自动关机程序

    例如,用户可以设置在晚上12点自动关机,以保证充足的睡眠时间;也可以设定在系统空闲时自动重启,以进行系统维护。对于需要长时间使用计算机工作的用户,定时注销功能可以提醒他们定时休息,从而避免因长时间工作...

    定时关机程序附源码

    描述中提到的".net Framework 2.0框架"是运行这个程序所必需的环境,这是一个由微软开发的软件框架,包含了执行.NET应用程序所需的各种组件和服务。如果用户在尝试运行该程序时遇到错误,可能是因为他们的计算机上...

    定时打开指定程序软件源码

    由于最近工作中经常用到定时执行一些程序,以前都是用计划任务,但是想想何不自己开发一个定时执行程序的小软件呢,用了一晚上的功夫开发完成,功能比较简单。可以定时执行多个程序。可以支持开机自启动。设定好之后...

    Linux定时执行程序Crontab.pdf

    Linux定时执行程序Crontab是Linux系统中一个强大的任务调度工具,用于自动化执行特定的脚本或命令。在Linux环境中,如果你需要定期执行诸如数据备份、数据库更新等任务,Crontab是不可或缺的。以下是对Crontab及其...

    Linux定时执行程序Crontab.docx

    Crontab 是 Linux 系统中一个非常重要的工具,可以用来定时执行特定的命令或程序。它允许用户在指定的时间点执行特定的任务,从而实现自动化管理和备份等功能。 Crontab 的基本语法是以五个星号(*)分隔的六个字段...

    Linux定时执行程序Cronb.pdf

    【标题】: Linux定时执行程序Cron 【描述】: Linux系统中的Cron服务是一个强大的工具,允许用户设置定时任务,自动执行一系列命令或脚本,无需人工干预。Cron是Unix/Linux系统中的一个守护进程,用于执行预定的任务...

    定时打开指定程序源码

    由于最近工作中经常用到定时执行一些程序,以前都是用计划任务,但是想想何不自己开发一个定时执行程序的小软件呢,用了一晚上的功夫开发完成,功能比较简单。 可以定时执行多个程序。可以支持开机自启动。设定好...

    专题资料(2021-2022年)Linux定时执行程序Crontab.docx

    【Linux定时执行程序Crontab详解】 Crontab是Linux系统中用于定期执行任务的工具,它允许用户设置一系列的定时规则来执行特定的命令或脚本。在上述场景中,你需要在客户服务器上配置定时任务,例如每周一至周六晚上...

    定时关机小程序(含源代码)

    《定时关机小程序详解——基于VB.NET的实现与应用》 在日常计算机使用中,有时我们需要让电脑在特定时间自动关机,以节省电力或在进行长时间任务后自动关闭。为此,开发了一款名为“定时关机小程序”的实用工具,它...

    显示器定时关闭开启小工具(exe和代码)

    这是一个用MFC编写的显示器定时关闭开启小工具(需求来源是学校的LED...附上源代码,主要涉及的核心代码有:显示器开启和关闭代码、程序托盘实现代码、模拟鼠标移动操作代码、配置文件读写代码、程序单实例运行代码。

    定时关机程序_xufeng

    在IT领域,定时关机程序是一种实用工具,它允许用户预先设定一个时间点,系统会在指定的时间自动执行关机操作。这种程序对于那些需要长时间运行任务但又不想守在电脑前的用户非常有用。"定时关机程序_xufeng"是由...

    Android定时发短信源代码

    在源代码中,开发者可能通过`AlarmManager.setRepeating()`方法来设定一个重复性的定时任务,例如每天晚上固定时间触发。这个方法需要传入`PendingIntent`对象,该对象封装了要执行的具体动作,即发送短信。 其次,...

    linux定时执行程序--crontab().pdf

    例如,`0 22 * * 1-6 backup.sh`表示每周一到周六的22点(晚上8点)执行`backup.sh`脚本。这里,`0`代表分钟,`22`代表小时,`*`代表任意值,`1-6`代表周一到周六,`backup.sh`是需要执行的命令。 对于更复杂的定时...

    Java-Web定时器使用.doc

    Java Web定时器是一种在Web应用程序中定期执行特定任务的机制,它主要依赖于Java的`java.util.Timer`类和`java.util.TimerTask`类。在Java Web开发中,定时任务通常用于后台数据处理、定时备份、日志清理等场景。...

    window server任务计划定时执行和解决显示执行成功其实未成功的问题

    ### Window Server任务计划定时执行与解决执行假象问题 #### 一、Window Server任务计划简介 Windows Server系统作为微软提供的一款服务器操作系统,在自动化任务管理方面提供了丰富的功能。其中,“任务计划程序...

    计划任务 定时执行 php

    本程序不同于传统定时: 1.不同于触发式,可独立于页面之外,保证任何系统都能运作,而不用修改页面.可随时添加,删除. 2.不同于一般单文件sleep(),本系统,可以虽然停止和启动时钟,并且随时添加和删除任务. 3.本系统在...

Global site tag (gtag.js) - Google Analytics