`
hugang357
  • 浏览: 181108 次
  • 性别: 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  
写的很清晰。

相关推荐

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

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

    定时打开指定程序源码

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

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

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

    计划任务 定时执行 php

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

    【原创】定时打开指定程序的小工具

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

    android定时器实现每天定时执行任务.rar

    android定时器实现每天定时执行任务.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    JAVA定时任务-Quartz应用Demo

    每天12点运行 0 15 10 ? * * 每天10:15运行 0 15 10 * * ? 每天10:15运行 0 15 10 * * ? * 每天10:15运行 0 15 10 * * ? 2008 在2008年的每天10:15运行 0 * 14 * * ? 每天14点到15点之间每分钟运行一次,开始于14:...

    DELPHI制做定时关机程序

    这是一个定时关机的小程序,由于每天晚上要定时关机,就随便写了一个,,呵呵,大家有用的着的,可以下载下来

    vbs编写的定时关机程序

    自己参考网络上的教程编写的vbs自动关机程式,拷贝到系统启动菜单里面,每天晚上10点30分自动关机。(关机前会有15秒时间让你保存资料)

    Android定时发短信源代码

    一个Android平台的定时发短信的源代码文件。比如每天晚上给女朋友发短信就很有用。该源代码自由使用,请勿用于商业用途。谢谢。

    C#版定时关机应用程序

    最近有时候晚上听评书、音乐什么的,经常听着听着就睡着了,忘记关机,半夜又给吵醒了,所以这两天写了个定时关机的东西,有用到的朋友就当去用吧。 不过,我在程序里加了一个就是在用应用程序时,弹开小弟的小网站...

    vb.net 开发的定时关机程序源程序

    用vb.net开发的定时关机程序,可设置1-999分钟后自动关闭电脑,适用bt和晚上看电影懒得起身关电脑的人

    定时开关机程序

    定时开关机程序,永驻内存,已测过多机型 晚上睡觉手机放在身边对身体辐射很大,故晚上定时将手机进入到飞行模式,大幅降低辐射,到早上起床时,手机自动进入网络模式,正常使用

    C#定时间段执行(注意是时间段|例:12:40-15:20分内执行)(原作)

    上次自己想找个定时间段执行提示的小程序,但找了好久没有找到,就自己想方法做了个定时间段执行的小程序。还行吧!(自己想了好久才做出来的) 定时间段执行(注意是时间段|例:12:40-15:20分内执行) 希望有更好的 ...

    java轻松实现—定时任务

    只需要在web.xml文件中添加监听器listener,然后加入附件中的文件,并将lstener指向所添加的文件TimerTaskListener,定时任务的研发便可轻松搞定!

    java每天实现定点执行任务

    java每天实现定点执行任务java每天实现定点执行任务java每天实现定点执行任务java每天实现定点执行任务java每天实现定点执行任务java每天实现定点执行任务java每天实现定点执行任务

    技术查找Web应用程序:技术查找Web应用程序可以告诉您网站正在使用什么技术?

    技术查询Web应用程序 您将了解网页正在使用的所有技术。 要连接吗? 在见 此存储库旨在查找特定网站使用的所有技术。 内容 网站 链接: : Github自述文件类别 列出出色的Awesome README Profile工具 -为您的github...

    c# 定时器 ,定时提交数据

    c# 定时器 ,定时提交数据

    c# 在windows服务中 使用定时器实例代码

    由于最近做自动执行的程序,开始做windows服务程序, 在windows服务中如何使用定时器的时候一直失效, 以前是直接拖入timer控件,但是不能直接运行,后来在网上找了一段程序,好使了。 代码如下://开始事件 ...

Global site tag (gtag.js) - Google Analytics