当前位置: 首页 > 工具软件 > quartz web > 使用案例 >

java quartz web.xml_quartz在web.xml的配置

淳于嘉树
2023-12-01

第一步:下载所需的Jar包

commons-beanutils.ja、commons-collections.jar、commons-logging.jar、commons-digester.jar、quartz.jar包

第二步:在web.xml下配置监听

在web.xml下配置监听的目的是为了项目编译的时候就自动运行监听下配置的业务类。

com.qt.quartz.QuartzMain

第三步:编写com.qt.quartz.QuartzMain类

这个类只是作为启动类,调用QuartzLoad类的2个方法,因为这个类是静态的,所以可以用名称直接点出方法名称。

package com.qt.quartz;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

public class QuartzMain implements ServletContextListener {

// 服务器启动时执行该事件

@Override

public void contextInitialized(ServletContextEvent arg0) {

try {

QuartzLoad.run();

} catch (Exception e) {

e.printStackTrace();

}

}

// 服务器停止时执行该事件

@Override

public void contextDestroyed(ServletContextEvent arg0) {

try {

QuartzLoad.stop();

} catch (Exception e) {

e.printStackTrace();

}

}

}

第四步:编写com.qt.quartz.QuartzLoad类

这个类里面有2个方法,一个是启动quartz的方法,一个是关闭方法,这个类里面可以定制每隔多少时间循环调用业务类一次。

package com.qt.quartz;

import org.quartz.CronTrigger;

import org.quartz.JobDetail;

import org.quartz.Scheduler;

import org.quartz.impl.StdSchedulerFactory;

public class QuartzLoad {

private static Scheduler sched;

public static void run() throws Exception {

//创建LzstoneTimeTask的定时任务

//三个参数,第一个是自己取得名称、第二个是固定的、第三个是业务类

JobDetail jobDetail = new JobDetail("lzstoneJob",sched.DEFAULT_GROUP,QuartzJob.class);

//三个参数,第一个是自己取得名称、第二个是触发器组名称、第三个是自定义时间

CronTrigger trigger = new CronTrigger("lzstoneTrigger","lzstone","0/50 * * * * ?");

sched = new StdSchedulerFactory().getScheduler();

sched.scheduleJob(jobDetail,trigger);

sched.start();

}

//停止

public static void stop() throws Exception{

sched.shutdown();

}

}

序号 说明 是否必填 允许填写的值 允许的通配符

1 秒 是 0-59 , - * /

2 分 是 0-59 , - * /

3 小时 是 0-23 , - * /

4 日 是 1-31 , - * ? / L W

5 月 是 1-12 or JAN-DEC , - * /

6 周 是 1-7 or SUN-SAT , - * ? / L #

7 年 否 empty 或 1970-2099 , - * /

第五步:编写QuartzJob.class类,自己的业务处理类

package com.qt.quartz;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.quartz.Job;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

public class QuartzJob implements Job{

@Override

public void execute(JobExecutionContext arg0) throws JobExecutionException {

// TODO Auto-generated method stub

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

System.out.println("时间表:"+sdf.format(new Date()));

}

}

 类似资料: