java 定时重启_Java实现定时启动

本文介绍了两种在Java环境中实现定时任务的方法。第一种是通过web.xml配置监听器,创建TimerTask来定期执行任务。第二种是利用Spring的Quartz框架进行定时任务调度,详细解释了如何配置Spring XML文件以执行CustomJob1类的onTimeWork方法,并给出了Cron表达式的示例。这两种方式都是服务器端实现定时任务的有效途径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:

1.web.xml中配置listener

cn.com.jxlife.shs.web.action.csinquiry.surrender.MyListener

2.创建listener

import java.util.Timer;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class MyListener implements ServletContextListener {

private Timer timer = null;

@Override

public void contextInitialized(ServletContextEvent sce) {

timer = new Timer(true);

//设置任务计划,启动和间隔时间

timer.schedule(new MyTask(), 0, 3*60*1000);

//3分钟

//timer.schedule(new MyTask(), 0, 3*60*1000);

//在1秒后执行此任务,每次间隔2秒

//timer.schedule(new MyTask(), 1000, 2000);

}

@Override

public void contextDestroyed(ServletContextEvent sce) {

timer.cancel();

}

}

3.创建启动的类MyTask

import java.util.Date;

import java.util.TimerTask;

public class MyTask extends TimerTask {

@Override

public void run() {

System.out.println("call at " + (new Date()));

}

}

方法二:

spring 下实现定时工作的调度框架quartz

quartz-1.7.3.tar.gz

3.07M

2.从quartz-1.7.3.tar.gz 找到quartz-1.7.3.jar,放到项目的classpath下

(放到webroot/WEB-INF/lib)下

3.定义一个需要时间调度的程序

package com.machome.quartz;

public class CustomJob1 {

public void onTimeWork() {

System.out.println("数据备份任务启动");

System.out.println("...");

System.out.println("数据备份任务完成");

}

}

4.剩余的工作就都在spring xml文件里完成了

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

onTimeWork

class="org.springframework.scheduling.quartz.CronTriggerBean">

10,15,20,25,30,35,40,45,50,55 * * * * ?

class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

5. 将spring 项目部署到TOMCAT或JBOSS服务器上

deploy项目

重启TOMCAT server

6. 看结果:

cron表达式参考:Quartz的cron表达式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值