这是转载文章
SysContextListener.java
package axtic.servlet;
import java.util.Timer;//定时器类
import axtic.bean.exportHistoryBean;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class SysContextListener implements ServletContextListener
{
private Timer timer = null;
public void contextInitialized(ServletContextEvent event)
{//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
timer = new Timer(true);
event.getServletContext().log("定时器已启动");//添加日志,可在tomcat日志中查看到
timer.schedule(new exportHistoryBean(event.getServletContext()),0,5*1000);//调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时。
event.getServletContext().log("已经添加任务");
}
public void contextDestroyed(ServletContextEvent event)
{//在这里关闭监听器,所以在这里销毁定时器。
timer.cancel();
event.getServletContext().log("定时器销毁");
}
}
接下来可以编写自己的功能类,此类一定要extends定时器类中TimerTask
exportHistoryBean.java
package axtic.bean;
import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class exportHistoryBean extends TimerTask
{
private static final int C_SCHEDULE_HOUR = 0;
private static boolean isRunning = false;
private ServletContext context = null;
public exportHistoryBean(ServletContext context)
{
this.context = context;
}
public void run()
{
Calendar c = Calendar.getInstance();
if(!isRunning)
{
if(C_SCHEDULE_HOUR == c.get(Calendar.HOUR_OF_DAY))
{
isRunning = true;
context.log("开始执行指定任务");
//-------------------开始保存当日历史记录
//在这里编写自己的功能,例:
//File file = new File("temp");
//file.mkdir();
//启动tomcat,可以发现在tomcat根目录下,会自动创建temp文件夹
//-------------------结束
isRunning = false;
context.log("指定任务执行结束");
}
else
{
context.log("上一次任务执行还未结束");
}
}
}
}
分享到:
相关推荐
Java(tomcat)定时执行任务
文档详细描述了在Linux中创建定时任务,创建Tomcat重启的脚本文件,增加Tomcat定时重启任务的方法和步骤,对配置中可能出现的问题进行了解答,实际操作,成功实现。
由于工作需求,本人自己制作的 Tomcat 定时重启小工具,监听Tomcat的CMD运行窗口,计算运行时间,来完成 定时重启任务,配置可以自动临时保存,不生成多余文件。打算在后续版本中加入一个 HTTP监听任务,判断是否宕...
Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查,部署到tomcat即可看到定时任务执行效果。本人亲测,可用!
给电脑设置自动重启,设置Tomcat开机自启,部署定时任务。如何使用里面有详细的文档介绍,一看就会。
轻松实现tomcat定时重启 首先修改jsp.bat中的两个路径,其中set JAVA_HOME后面是jdk路径,下面是tomcat路径;运行,执行注册。 然后修改tomcat.bat中的ping 127.0.0.1 -n 5(暂停时间) 最后将tomcat.bat添加的计划...
1、 Linux下Tomcat定时启动 首先写一个自动重启tomcat的shell , 并配合linux下 crontab 执行定时任务。
quartz spring动态定时任务,可以直接在tomcat上面部署运行,框架是ssh2+ tomcat
我们通常写的timer都是用main方法写的定时器,但同样我们也需要根据服务器启动后定时器也启动的 定时执行任务。不过有个致命伤就是集群方面跟quartz不能比,此方法代码做参考不错,如果要用,那么这个方法在一台...
这是一个运行于Windows系统上的 bat脚本文件,主要用于重启Tomcat或其它服务,您只要修改其服务名称即可轻松完成重启任务,并且您配合查看我的博客文档...可以轻松完成定时重启。
一个tomcat下部署了两个应用,一个是普通web应用syncc,另一个应用syncc_wx属于微信公众号后台程序涉及消息定时推送,tomcat未分离...”spring定时任务执行两次的异常排查处理.docx"针对上述描述问题进行分析和解决。
ssm整合quartz 并持久化到数据库中,实现动态增删改查,暂停任务,恢复任务等 将链接内的target文件直接放到项目ssmquartztest文件夹下 运行环境: jdk5+tomcat7+mysql+eclipse+maven lib jar包下载地址 地址1:...
linux操作系统,制定定时任务步骤: 用ssh工具连接到系统后,执行如下步骤: 1)crontab -l 查看定时; 2)crontab -e 此时表示已可以编辑定时任务,但还没进入编辑模式; 3)再次输入i,进入编辑...
加入系统启动任务,可以监测tomcat运行情况,当tomcat停止服务时,可以自动启动tomcat
环境MyEclipse,tomcat,jdk Spring2定时任务 定时触发
开发必备的技能:定时任务,省去人工的操作使系统更加智能化。可以直接部署到tomcat上使用看效果,我设定的是每五秒执行一次,也可以在本地测试。关于配置,因为是自己琢磨所以比较详细省去了你上网查询的时间
传统Spring+Quartz实现的定时器一般都是通过配置文件中配置的,这就意味着如果我们修改了定时任务的时间,就得重新启动一下Tomcat,而且每次新建一个任务就得在spring中添加相关的配置信息,非常麻烦。基于上面的...
修改定时任务:/scheduled/update-task 前端传递任务ID,cron表达式、待执行类路径、待执行方法名可以修改定时任务内容。 获取单个定时任务:/scheduled/get-task 前端传递任务ID即可获取。 获取定时任务列表:/...
windows下,把tomcat作成服务开机自启动不显示cmd窗口.zip