Spring3.1集成Quartz,让你的任务执行随心所欲

来源:互联网 发布:js验证用户名 编辑:程序博客网 时间:2024/04/28 04:43
package com.shsecurities.community.controller;import java.util.Date;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.quartz.SimpleTrigger;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.quartz.CronTriggerBean;import org.springframework.scheduling.quartz.SchedulerFactoryBean;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import com.shsecurities.common.task.SpringQtz;@Controller@RequestMapping("/task/*")public class NewTask {@AutowiredSchedulerFactoryBean schedulerFactory;@AutowiredCronTriggerBean myTrigger;@RequestMapping(value = "doTask")public void doSomeThing(){Scheduler scheduler = schedulerFactory.getScheduler();try {for(int i=0;i<50;i++){JobDetail job = getJob(SpringQtz.class, "job1"+i,"group1"+i);SimpleTrigger trigger = getTrigger("tiigger1"+i, "group1"+i, "job1"+i, "group1"+i, new Date(), null, 0, 0);Date time1 = addSched(scheduler,job,trigger);System.out.println(time1);scheduler.start();}} catch (SchedulerException e) {    e.printStackTrace();} catch (Exception e) {    e.printStackTrace();}}//创建一个任务public JobDetail getJob(Class<SpringQtz> claee,String name,String group){JobDetail job = new JobDetail(name,group,claee);return job;}//创建一个触发器public SimpleTrigger getTrigger(String name,String group,String jobName,String jobGroup,Date startTime, Date endTime,int repeatCount,long repeatInterval){SimpleTrigger trigger = new SimpleTrigger(name,group,jobName,jobGroup,startTime,endTime,repeatCount,repeatInterval);return trigger;}//把任务和触发器放入定时器中public Date addSched(Scheduler sched,JobDetail job,SimpleTrigger trigger) throws SchedulerException{//Scheduler sched = getScheduler();Date date = sched.scheduleJob(job, trigger);return date;}//关闭定时器public void closeSched(Scheduler sched) throws SchedulerException{sched.shutdown();}}

0 0
原创粉丝点击