`
huxiuliang
  • 浏览: 117222 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

定时循环执行任务

    博客分类:
  • Java
阅读更多

web.xml的配置

<servlet>
        <description>定时发信</description>
        <display-name>定时发信</display-name>
        <servlet-name>TaskMail</servlet-name>
        <servlet-class>com.servlet.web.task.TaskMail</servlet-class>
        <init-param>
            <param-name>startTask</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>intervalTime</param-name>
            <param-value>1</param-value>
        </init-param>
        <load-on-startup>300</load-on-startup>
    </servlet>

Servlet

package com.servlet.web.task;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Timer;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class TaskMail extends HttpServlet {

   
     private Timer timer1 = null;  
           
     private Task task1; 
    /**
     * Constructor of the object.
     */
    public TaskMail() {
        super();
    }

    /**
     * Destruction of the servlet. <br>
     */
    public void destroy() {
         super.destroy();   
                 if(timer1!=null){  
                     timer1.cancel();  
                 } 
    }

   
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        doPost...
    }

   
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
        out.println("<HTML>");
        out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
        out.println("  <BODY>");
        out.print("    This is ");
        out.print(this.getClass());
        out.println(", using the POST method");
        out.println("  </BODY>");
        out.println("</HTML>");
        out.flush();
        out.close();
    }

    /**
     * Initialization of the servlet. <br>
     *
     * @throws ServletException if an error occurs
     */
    public void init() throws ServletException {
           
                 System.out.println("定时发信启动");  
                 ServletContext context = getServletContext();  
                   
                 // (true为用定时间刷新缓存)  
                 String startTask = getInitParameter("startTask");  
                           
                 // 定时刷新时间(分钟)  
                 Long delay = Long.parseLong(getInitParameter("intervalTime"));  
                   
                 // 启动定时器  
                 if(startTask.equals("true")){  
                     timer1 = new Timer(true);  
                     task1 = new Task(context);  
                     timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);  
                 }
    }

}

 

要执行的任务

package com.servlet.web.task;

import java.util.TimerTask;

import javax.servlet.ServletContext;

public class Task extends TimerTask{

     private ServletContext context;  
           
         private static boolean isRunning = true;  
           
         public Task(ServletContext context){  
             this.context = context;  
         }  
           
               
         @Override 
         public void run() {  
             if(isRunning){  
                 //context.getContextPath();
                 System.out.println("定时发信执行");
             }  
         }   

}

分享到:
评论

相关推荐

    OnTimer定时循环执行任务 v1.3.4.0.zip

    OnTimer定时循环执行任务 v1.3.4.0.zip

    一款定时/循环执行任务的绿色小软件

    一款定时/循环执行任务的绿色小软件,可以用来定时执行程序、DOS命令、从HTTP服务器下载程序运行、结束进程、 模拟按键、发送EMAIL、网络唤醒、消息提示、关机、重启、注销、锁定、待机等操作,都是本人曾经所需要的...

    jQuery定时任务执行,js定时获取页面内容

    2、index.htm中加入了js定时循环机制,可以定时传值获取内容,可以用这个机制执行一些定时 查询任务,比如新增数据检索等,也可以加入div+css演变成为右下角提示 3、请在web环境下访问,双击访问无效

    shell脚本定时执行logstash任务异常mail465发邮件.rar

    shell脚本定时执行logstash任务异常mail465发邮件.rar

    一款强大的定时执行工具

    一款定时/循环执行任务的软件,可以用来定时执行程序、DOS命令、从HTTP下载程序运行、结束进程、模拟按键、发送EMAIL、网络唤醒、消息提示、关机、重启、注销、锁定 等操作,都是本人曾经所需要的功能!  合理使用...

    执行clickhouse的sql文件的脚本,支持定时任务

    执行clickhouse的sql文件的脚本。 ~~~ 脚本执行命令如下: ~~~ sh backup-ch.sh ip port user password db chdir(clickhouse...支持crontab定时调度。 ~~~ 适用于clickhouse-19之后的所有版本。 ~~~ 后期提供免费升级。

    多任务倒计时定时执行软件

    MFC OnTimer 注册表操作类 自绘ListCtrl类 开机自动运行 多...4.开机自动定时启动任务; 5.隐藏界面于后台运行; 6.到达终了时刻后按照设定周期重复执行预定方案; 7.支持多个定时任务同时运行; 8.支持修改任务参数;

    Python定时执行任务

    在工作中有时会遇到领导安排的深夜定时执行批量采集数据、关闭程序、打开设备等...运行程序手动输入任务执行的时间,系统将7×24小时循环执行设定的任务。 没有资源分也可移步至个人博客获取,地址:www.mapleleaf.ren

    Unity3D的定时循环效果2

    在flash中,如果要重复执行一个任务,可以用onenterframe事件,或者用setinterval函数,控制各种循环效果是非常方便,在Unity3D中同样

    C#定时器实现自动执行的方法

    //下面讲一个打开窗体定时执行按钮的东西 private void Form1_Load(object sender, EventArgs e) { System.Timers.Timer pTimer = new System.Timers.Timer(5000);//每隔5秒执行一次,没用winfrom自带的 pTimer....

    .net core 定时任务

    .net core 定时执行某一时间的任务,可设置循环的小时,分钟,秒, 资源里只执行了一次定时任务,可循环多次,运行时自动进入方法

    spring3配置quartz定时任务

    spring3 配置quartz定时任务的使用。一个小例子。可直接运行Test.java。就可以启动定时任务。每10秒钟执行一次,可以根据自己配置。

    Java定时任务实现解析.pptx.pptx

    Java定时任务是Java提供的一种在指定时间执行任务的功能,它可以帮助开发者实现一些周期性或者延迟的任务。 Java定时任务的分类 Java定时任务主要分为两种类型,一种是单次定时任务,即只执行一次的任务;另一种是...

    学习open62541 — [24] 定时执行任务

    定时任务分为定时执行一次(也叫one shot)和定时循环执行(有个定时周期)2种 当定时任务被添加到定时器的执行列表里后,就开始计时 也可以看下linux系统提供的api,促进理解,点击这里。 api分为Server端和Client...

    定时任务程序dephi源码

    用delphi XE8开发的定时任务小工具,可以定时执行外部程序,也可以定时终止某正在运行的程序,可以指定任务执行的循环模式,可以管理任务列表。

    定时任务软件|定时播放音乐|定时执行程序|定时关机

    方知定时任务软件是一款功能全面、操作简便的定时工具,用于创建各种定时任务,如提醒、打开文档、运行程序、播放音乐、重启、关机等,支持一次、每天、每周、每月以及自定义循环时间,真人语音报时,时间校正,同时...

    多任务定时运行的小软件

     执行任务:执行另一个任务。(快捷模式无法使用)  该动作有几点需要注意:  1、被执行的任务会被重新开始执行,无论其正在执行或否。  2、若要执行的任务已被删除,则执行该任务的动作会被标记为无效并不被...

    Python实现定时执行任务的三种方式简单示例

    本文实例讲述了Python实现定时执行任务的三种方式。分享给大家供大家参考,具体如下: 1.定时任务代码 #!/user/bin/env python # @Time :2018/6/7 16:31 # @Author :PGIDYSQ #@File :PerformTaskTimer.py #定时执行...

    jsp定时执行的三种方法

    java定时执行的三种方法,应该对你有用!

    scheduling定时任务框架·

    一个很好用的定时任务框架,可以非常简单的实现定时任务,循环执行任务

Global site tag (gtag.js) - Google Analytics