zl程序教程

您现在的位置是:首页 >  其它

当前栏目

quartz 定时任务

任务 定时 quartz
2023-09-14 08:58:00 时间
public void setCronExpression(String cronExpression) { this.cronExpression = cronExpression; public void setScheduler(Scheduler scheduler) { this.scheduler = scheduler; public void initial() { JobDetail jobDetail = JobBuilder.newJob(CounterMapper.class).withIdentity("Counter", "Mapper").build(); jobDetail.getJobDataMap().put("counter", counterJob); jobDetail.getJobDataMap().put("mapper", mapperJob); CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("Counter", "Mapper").withSchedule(CronScheduleBuilder.cronSchedule(cronExpression)).build(); try { scheduler.scheduleJob(jobDetail, cronTrigger); } catch (SchedulerException e) { e.printStackTrace(); @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { JobDataMap jobDataMap = jobExecutionContext.getMergedJobDataMap(); CounterJob counter = (CounterJob) jobDataMap.get("counter"); counter.count(); MapperJob mapper = (MapperJob) jobDataMap.get("mapper"); mapper.map(); public void destroy() {
 ?xml version="1.0" encoding="UTF-8"? 

 beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd" 

 !-- 配置CounterMapper -- 

 bean id="CounterMapper" init-method="initial" destroy-method="destroy" scope="singleton" 

 property name="scheduler" ref="Scheduler" / 

 property name="counterJob" ref="CounterJob" / 

 property name="mapperJob" ref="MapperJob" / 

 property name="cronExpression" value="*/1 * * * * ?" / 

 /bean 

 !-- 配置Scheduler -- 

 bean name="Scheduler" lazy-init="false" autowire="no" 

 /bean 

 !-- 配置Counter -- 

 bean name="CounterJob" autowire="no" 

 /bean 

 !-- 配置Mapper -- 

 bean name="MapperJob" autowire="no" 

 /bean 

 /beans 

package quartz;

import org.springframework.context.support.FileSystemXmlApplicationContext;

 * @ClassName: Main

 * @Description: TODO

 * @author Zhou Shengshuai

 * @date 2014年9月19日 下午3:06:44

public class Main {

 public static void main(String[] args) {

 // 装载程序

 final FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("spring-quartz.xml");

 // 添加钩子

 Runtime.getRuntime().addShutdownHook(new Thread() {

 @Override

 public void run() {

 // 销毁实例

 context.getBeanFactory().destroySingletons();





quartz很多人都会用,但需要配置cronExpression. 这个cronExpression很多技术人员都要配置,但很多情况,我们要知道这个cronExpression下次执行的时间是啥,让非技术人员很直观的看到下一个定时任务的执行时间。