`
huxiuliang
  • 浏览: 119328 次
  • 性别: 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:Windows系统下的高效自动化解决方案》 在日常工作中,我们常常需要让计算机在特定时间执行某项任务,例如自动备份、数据同步或者运行脚本等。这正是OnTimer定时循环执行任务...

    超级任务计划执行工具

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

    tomcat启动时定时循环执行内容(action)

    标题中的“tomcat启动时定时循环执行内容(action)”指的是在Tomcat服务器启动过程中,通过配置或者自定义代码实现一个定时任务,使得该任务在Tomcat启动后能够周期性地自动执行。这种机制常用于需要定期检查、更新...

    易语言定时执行任务可倒计时源码

    资源介绍:。易语言定时执行任务可倒计时源码。时间到了指定时间,就执行某任务。资源作者:。@jxfa0086768。资源界面:。资源下载:。如上述代码有BUG,请查看下图修改。感谢@向前 提供BUG修复源码。

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

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

    基于thinkphp框架的定时器(定时执行任务)

    本篇将详细介绍如何在ThinkPHP中设置和使用定时器来定时执行任务。 一、定时任务的概念与作用 定时任务,也称为Cron Job,在服务器环境中常用于定期执行某些脚本或程序,以实现自动化工作流程。ThinkPHP中的定时...

    Android AlarmManager实现定时循环后台任务

    * 可以循环执行任务,达到自动更新数据的效果。 缺点 使用AlarmManager实现定时循环后台任务也有一些缺点,例如: * 需要在AndroidManifest.xml文件中声明权限。 * 需要使用PendingIntent来指定广播的Intent。 * ...

    Unity3D的定时循环效果2

    在Unity3D游戏开发中,实现定时循环效果是至关重要的,它可以用于动画、逻辑更新、游戏状态检测等众多场景。标题中的"Unity3D的定时循环效果2"可能是指对第一部分定时循环知识的深入探讨或扩展。描述中提到,在Flash...

    python每天定时执行一次任务

    使用Python的timer来完成每天执行一次的定时任务,环境是windows,python3.4

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

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

    6.2 创建定时和周期任务

    通过创建一个Handler实例并将其与Looper关联,我们可以发送延迟的消息或Runnable对象,从而实现定时执行任务。例如,我们可以通过`postDelayed(Runnable r, long delayMillis)`方法来安排一个Runnable在特定时间后...

    LABVIEW循环定时程序

    For Loop通常用于执行固定次数的循环,而While Loop则在满足特定条件时持续执行,这为定时任务提供了灵活的选择。 1. **For Loop**:在LabVIEW中,For Loop通过一个初始化、迭代和终止值来定义循环次数。例如,如果...

    一款强大的定时执行工具

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

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

    这个压缩包文件"shell脚本定时执行logstash任务异常mail465发邮件.rar"可能包含了一个用于监控Logstash任务的shell脚本,当Logstash工作出现异常时,脚本会自动通过SMTP服务器发送邮件通知。 1. **shell脚本**:...

    android 延时或重复执行任务

    它支持精确到毫秒级的定时,并且有`ELAPSED_REALTIME`、`RTC`、`RTC_WAKEUP`等多种触发类型,其中`RTC_WAKEUP`会在指定时间唤醒设备执行任务。然而,`AlarmManager`的使用需要考虑电池效率,过度使用可能会导致电量...

    定时循环监控脚本

    在IT领域,定时循环监控脚本是一种非常实用的技术,它能够定期执行特定的任务,比如检查系统状态、收集数据、执行备份或更新等。这样的脚本通常由批处理(BAT)文件或其他脚本语言(如bash、Python等)编写,根据...

    Python定时任务随机时间执行的实现方法

    第三种是循环执行任务。这通常是指让一个任务在不设置结束条件的情况下无限循环执行。在Python中,可以使用while True的无限循环结构,结合time模块中的sleep函数来控制执行间隔,从而实现任务的循环执行。这种方式...

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

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

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

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

    Python定时执行任务

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

Global site tag (gtag.js) - Google Analytics