- 浏览: 2270998 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (357)
- J2EE (49)
- JavaScript (40)
- Spring (19)
- Struts (5)
- CSS (8)
- Hibernate (16)
- Java (67)
- DWR (4)
- JSON (3)
- XFIRE (1)
- Tomcat (1)
- Ant (2)
- 设计模式 (2)
- 经典收藏 (2)
- JSP (10)
- Linux (0)
- WebLogic (11)
- myeclipse (13)
- Buffalo (4)
- 文件上传相关 (1)
- oracle (33)
- html (6)
- JSTL (3)
- SVN (2)
- GIT (1)
- 孙卫琴(Java网络编程精解) (1)
- DOM4J (2)
- Swing (1)
- AJAX (1)
- Eclipse (5)
- 日志组件 (3)
- PowerDesigner (1)
- Jquery (22)
- IT技术开发相关网址 (1)
- Nutz (1)
- 其它 (1)
- Velocity (3)
- WebService (1)
- MySql (2)
- Android (1)
- Maven (2)
- Quartz (11)
- Lucene (1)
- springsource (1)
- Junit (1)
- Activiti (0)
最新评论
-
yzlseu:
拼凑,没有营养
Activiti进阶—分配组任务 -
zhangsenhao:
非常赞!代码很清楚
SpringMVC3.0+MyIbatis3.0(分页示例) -
xiamw2000:
分页写得不对,应该是 : order by ${orderNa ...
SpringMVC3.0+MyIbatis3.0(分页示例) -
sheertewtw:
...
SpringMVC:上传与下载 -
kingtoon:
...
XSS之xssprotect
参考资料
1 quartz 学习笔记
http://chinaxxren.iteye.com/blog/897989
任务和触发器是quartz的两大块核心。触发器分CronTrigger 和SimpleTrigger
CronTrigger 支持比 SimpleTrigger 更具体的调度,而且也不是很复杂。基于 cron 表达式,CronTrigger 支持类似日历的重复间隔,而不是单一的时间间隔 —— 这相对 SimpleTrigger 而言是一大改进。掌握CronTrigger,是非常必要,掌握Quartz cron 表达式是学习CronTrigger的关键所在!
环境: XP+Myeclipse6.5+JDK1.6+Quartz2
一 具体代码
1 SimpleJob.java
2 CronTriggerExample.java
3 SchedEventLister.java
4 SchedFacory.java
5 输出结果如下:
1 quartz 学习笔记
http://chinaxxren.iteye.com/blog/897989
任务和触发器是quartz的两大块核心。触发器分CronTrigger 和SimpleTrigger
CronTrigger 支持比 SimpleTrigger 更具体的调度,而且也不是很复杂。基于 cron 表达式,CronTrigger 支持类似日历的重复间隔,而不是单一的时间间隔 —— 这相对 SimpleTrigger 而言是一大改进。掌握CronTrigger,是非常必要,掌握Quartz cron 表达式是学习CronTrigger的关键所在!
环境: XP+Myeclipse6.5+JDK1.6+Quartz2
一 具体代码
1 SimpleJob.java
package org.quartz.examples.example3; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.quartz.JobKey; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.TriggerKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SimpleJob implements Job { private static int jobCount = 0; private static Logger _log = LoggerFactory.getLogger(SimpleJob.class); private Scheduler sched = null; public SimpleJob() throws SchedulerException { sched = SchedFacory.getScheduler(); } public void execute(JobExecutionContext context) throws JobExecutionException { JobKey jobKey = context.getJobDetail().getKey(); TriggerKey triggerKey = context.getTrigger().getKey(); //启动线程监听触发器的状态 new Thread(new SchedEventLister(triggerKey)).start(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); _log.info("任务分组名称: " + jobKey.getGroup()+",任务名称: " + jobKey.getName()+",触发器组名称: " + triggerKey.getGroup()+ ",触发器名称: "+triggerKey.getName()+" 执行时间: " + sdf.format(new Date()) + ",计数: " + (++jobCount)) ; //如果任务执行超过20次就结束它 /* if(jobCount > 5){ _log.warn("结束任务..."); try { //Delete the identified Job from the Scheduler - and any associated Triggers. //从调度器中删除这个唯一任务时同时会删除相关联的触发器^_^ sched.deleteJob(jobKey); sched.resumeJob(jobKey); } catch (SchedulerException e) { e.printStackTrace(); } }*/ if(jobCount == 15 ){ _log.warn("已经暂停了触发器...,触发器组名: " + triggerKey.getGroup() + ",触发器名称: " + triggerKey.getName()); //暂停触发器 try { sched.pauseTrigger(triggerKey); } catch (SchedulerException e) { throw new RuntimeException(e); } } if(jobCount == 20){ _log.error("正在停止并且移除触发器...,触发器组名: " + triggerKey.getGroup() + ",触发器名称: " + triggerKey.getName()); try { sched.resumeTrigger(triggerKey);//停止触发器 sched.unscheduleJob(triggerKey);//移除触发器 } catch (SchedulerException e) { throw new RuntimeException(e); } } } }
2 CronTriggerExample.java
package org.quartz.examples.example3; import static org.quartz.CronScheduleBuilder.cronSchedule; import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger; import java.text.SimpleDateFormat; import java.util.Date; import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerMetaData; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class CronTriggerExample { public void run() throws Exception { Logger log = LoggerFactory.getLogger(CronTriggerExample.class); //SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = SchedFacory.getScheduler();// sf.getScheduler(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); CronTrigger trigger = null; JobDetail job = null; Date ft = null; /* job = newJob(SimpleJob.class) .withIdentity("job1", "group1") .build(); //表示每20秒执行一次 trigger = newTrigger() .withIdentity("trigger1", "group1") .withSchedule(cronSchedule("0/20 * * * * ?")) .build();*/ /* job = newJob(SimpleJob.class) .withIdentity("job2", "group1") .build(); //每2分钟执行一次,并且启动时间为:15秒之后开始,例如: 2011-07-08 04:44:15,2011-07-08 04:46:15 ... trigger = newTrigger() .withIdentity("trigger2", "group1") .withSchedule(cronSchedule("15 0/2 * * * ?")) .build();*/ job = newJob(SimpleJob.class) .withIdentity("job3", "group1") .build(); //在8-17之间每2分钟执行一次 /*trigger = newTrigger() .withIdentity("trigger3", "group1") .withSchedule(cronSchedule("0 0/2 8-17 * * ?")) .build();*/ //在8-17之间每1分钟执行一次,并且为10秒间隔 trigger = newTrigger() .withIdentity("trigger3", "group1") .withSchedule(cronSchedule("0/10 0/1 8-17 * * ?")) .build(); /* job = newJob(SimpleJob.class) .withIdentity("job4", "group1") .build(); //在16与23之间每3分钟执行一次 trigger = newTrigger() .withIdentity("trigger4", "group1") .withSchedule(cronSchedule("0 0/3 16-23 * * ?")) .build();*/ /*job = newJob(SimpleJob.class) .withIdentity("job5", "group1") .build(); trigger = newTrigger() .withIdentity("trigger5", "group1") .withSchedule(cronSchedule("0 0 10am 1,15 * ?")) .build();*/ /* job = newJob(SimpleJob.class) .withIdentity("job6", "group1") .build(); //2011-07-08 05:11:00,2011-07-08 05:11:02,2011-07-08 05:12:00,2011-07-08 05:12:02 //第二周到第六周之间执行并且:执行秒数为:0,2各执行一次,没有明白为什么要间隔1分钟后触发,如上. trigger = newTrigger() .withIdentity("trigger6", "group1") .withSchedule(cronSchedule("0,2 * * ? * MON-FRI")) .build();*/ /* job = newJob(SimpleJob.class) .withIdentity("job7", "group1") .build(); trigger = newTrigger() .withIdentity("trigger7", "group1") .withSchedule(cronSchedule("0,30 * * ? * SAT,SUN")) .build();*/ ft = sched.scheduleJob(job, trigger); log.info(job.getKey() + " has been scheduled to run at: " + sdf.format(ft) + " and repeat based on expression: " + trigger.getCronExpression()); sched.start(); try { //5分钟 Thread.sleep(300L * 1000L); } catch (Exception e) { } log.info("------- Shutting Down ---------------------"); sched.shutdown(true); log.info("------- Shutdown Complete -----------------"); SchedulerMetaData metaData = sched.getMetaData(); log.info("Executed " + metaData.getNumberOfJobsExecuted() + " jobs."); } public static void main(String[] args) throws Exception { CronTriggerExample example = new CronTriggerExample(); example.run(); } }
3 SchedEventLister.java
public class SchedEventLister implements Runnable { private static Logger _log = LoggerFactory .getLogger(SchedEventLister.class); private Scheduler sched = null; private TriggerKey triggerKey = null; public SchedEventLister(TriggerKey triggerKey) { _log.info("触发器线程监听启动...."); this.triggerKey = triggerKey; try { sched = SchedFacory.getScheduler(); } catch (SchedulerException e) { e.printStackTrace(); } } @Override public void run() { _log.info("触发器线程监听中。。。。" + new SimpleDateFormat("yyyy-MM-dd hh:mm:ss") .format(new Date())); // 获取当前触发器的状态 Trigger.TriggerState ts = null; try { ts = sched.getTriggerState(triggerKey); } catch (SchedulerException e) { e.printStackTrace(); } // 如果为暂停状态就恢复 if (ts == Trigger.TriggerState.PAUSED) { //暂停10秒在恢复 try { _log.warn("暂停当前线程5秒钟后在恢复触发器...,触发器组名: " + triggerKey.getGroup() + ",触发器名称: " + triggerKey.getName()); Thread.sleep(5L*1000L); } catch (InterruptedException e1) { e1.printStackTrace(); } // 恢复触发器 _log.warn("正在恢复了触发器...,触发器组名: " + triggerKey.getGroup() + ",触发器名称: " + triggerKey.getName()); try { sched.resumeTrigger(triggerKey); } catch (SchedulerException e) { throw new RuntimeException(e); } } else if (ts == Trigger.TriggerState.NORMAL) { _log.info("触发器线程监听中。。。。,状态:正常 "); } else if (ts == Trigger.TriggerState.NONE) { _log.info("触发器线程监听中。。。。,状态:没有触发器 "); } else if (ts == Trigger.TriggerState.ERROR) { _log.info("触发器线程监听中。。。。,状态:错误 "); } else if (ts == Trigger.TriggerState.BLOCKED) { _log.info("触发器线程监听中。。。。,状态:堵塞 "); } } }
4 SchedFacory.java
import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.impl.StdSchedulerFactory; /** *Title: *Description: *Copyright: Copyright (c) 2011 *Company:http://liuzidong.iteye.com/ *Makedate:2011-7-11 上午09:55:36 * @author liuzidong * @version 1.0 * @since 1.0 * */ public class SchedFacory { private static SchedulerFactory sf = new StdSchedulerFactory(); public static Scheduler getScheduler() throws SchedulerException{ return sf.getScheduler(); } }
5 输出结果如下:
[INFO] 2011-07-11 02:54:56.796 下午 main [org.quartz.simpl.SimpleThreadPool] Job execution threads will use class loader of thread: main [INFO] 2011-07-11 02:54:56.812 下午 main [org.quartz.core.SchedulerSignalerImpl] Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl [INFO] 2011-07-11 02:54:56.812 下午 main [org.quartz.core.QuartzScheduler] Quartz Scheduler v.2.0.1 created. [INFO] 2011-07-11 02:54:56.812 下午 main [org.quartz.simpl.RAMJobStore] RAMJobStore initialized. [INFO] 2011-07-11 02:54:56.812 下午 main [org.quartz.core.QuartzScheduler] Scheduler meta-data: Quartz Scheduler (v2.0.1) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered. [INFO] 2011-07-11 02:54:56.812 下午 main [org.quartz.impl.StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties' [INFO] 2011-07-11 02:54:56.812 下午 main [org.quartz.impl.StdSchedulerFactory] Quartz scheduler version: 2.0.1 [INFO] 2011-07-11 02:54:56.828 下午 main [org.quartz.examples.example3.CronTriggerExample] group1.job3 has been scheduled to run at: 2011-07-11 02:55:00 and repeat based on expression: 0/10 0/1 8-17 * * ? [INFO] 2011-07-11 02:54:56.828 下午 main [org.quartz.core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. [INFO] 2011-07-11 02:55:00.015 下午 DefaultQuartzScheduler_Worker-1 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:55:00.015 下午 DefaultQuartzScheduler_Worker-1 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:55:00,计数: 1 [INFO] 2011-07-11 02:55:00.015 下午 Thread-2 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:55:00 [INFO] 2011-07-11 02:55:00.015 下午 Thread-2 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:55:10.000 下午 DefaultQuartzScheduler_Worker-2 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:55:10.000 下午 DefaultQuartzScheduler_Worker-2 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:55:10,计数: 2 [INFO] 2011-07-11 02:55:10.000 下午 Thread-3 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:55:10 [INFO] 2011-07-11 02:55:10.000 下午 Thread-3 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:55:20.000 下午 DefaultQuartzScheduler_Worker-3 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:55:20.000 下午 DefaultQuartzScheduler_Worker-3 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:55:20,计数: 3 [INFO] 2011-07-11 02:55:20.000 下午 Thread-4 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:55:20 [INFO] 2011-07-11 02:55:20.000 下午 Thread-4 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:55:30.000 下午 DefaultQuartzScheduler_Worker-4 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:55:30.000 下午 DefaultQuartzScheduler_Worker-4 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:55:30,计数: 4 [INFO] 2011-07-11 02:55:30.000 下午 Thread-5 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:55:30 [INFO] 2011-07-11 02:55:30.000 下午 Thread-5 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:55:40.000 下午 DefaultQuartzScheduler_Worker-5 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:55:40.000 下午 DefaultQuartzScheduler_Worker-5 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:55:40,计数: 5 [INFO] 2011-07-11 02:55:40.000 下午 Thread-6 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:55:40 [INFO] 2011-07-11 02:55:40.000 下午 Thread-6 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:55:50.000 下午 DefaultQuartzScheduler_Worker-6 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:55:50.000 下午 DefaultQuartzScheduler_Worker-6 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:55:50,计数: 6 [INFO] 2011-07-11 02:55:50.000 下午 Thread-7 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:55:50 [INFO] 2011-07-11 02:55:50.000 下午 Thread-7 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:56:00.000 下午 DefaultQuartzScheduler_Worker-7 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:56:00.000 下午 DefaultQuartzScheduler_Worker-7 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:56:00,计数: 7 [INFO] 2011-07-11 02:56:00.000 下午 Thread-8 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:56:00 [INFO] 2011-07-11 02:56:00.000 下午 Thread-8 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:56:10.000 下午 DefaultQuartzScheduler_Worker-8 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:56:10.000 下午 DefaultQuartzScheduler_Worker-8 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:56:10,计数: 8 [INFO] 2011-07-11 02:56:10.000 下午 Thread-9 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:56:10 [INFO] 2011-07-11 02:56:10.000 下午 Thread-9 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:56:20.000 下午 DefaultQuartzScheduler_Worker-9 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:56:20.000 下午 DefaultQuartzScheduler_Worker-9 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:56:20,计数: 9 [INFO] 2011-07-11 02:56:20.000 下午 Thread-10 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:56:20 [INFO] 2011-07-11 02:56:20.000 下午 Thread-10 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:56:30.000 下午 DefaultQuartzScheduler_Worker-10 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:56:30.000 下午 DefaultQuartzScheduler_Worker-10 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:56:30,计数: 10 [INFO] 2011-07-11 02:56:30.000 下午 Thread-11 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:56:30 [INFO] 2011-07-11 02:56:30.000 下午 Thread-11 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:56:40.000 下午 DefaultQuartzScheduler_Worker-1 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:56:40.000 下午 DefaultQuartzScheduler_Worker-1 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:56:40,计数: 11 [INFO] 2011-07-11 02:56:40.000 下午 Thread-12 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:56:40 [INFO] 2011-07-11 02:56:40.000 下午 Thread-12 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:56:50.000 下午 DefaultQuartzScheduler_Worker-2 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:56:50.000 下午 DefaultQuartzScheduler_Worker-2 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:56:50,计数: 12 [INFO] 2011-07-11 02:56:50.000 下午 Thread-13 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:56:50 [INFO] 2011-07-11 02:56:50.000 下午 Thread-13 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:57:00.000 下午 DefaultQuartzScheduler_Worker-3 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:57:00.000 下午 DefaultQuartzScheduler_Worker-3 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:57:00,计数: 13 [INFO] 2011-07-11 02:57:00.000 下午 Thread-14 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:57:00 [INFO] 2011-07-11 02:57:00.000 下午 Thread-14 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:57:10.000 下午 DefaultQuartzScheduler_Worker-4 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:57:10.000 下午 DefaultQuartzScheduler_Worker-4 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:57:10,计数: 14 [INFO] 2011-07-11 02:57:10.000 下午 Thread-15 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:57:10 [INFO] 2011-07-11 02:57:10.000 下午 Thread-15 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:57:20.000 下午 DefaultQuartzScheduler_Worker-5 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:57:20.000 下午 DefaultQuartzScheduler_Worker-5 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:57:20,计数: 15 [WARN] 2011-07-11 02:57:20.000 下午 DefaultQuartzScheduler_Worker-5 [org.quartz.examples.example3.SimpleJob] 已经暂停了触发器...,触发器组名: group1,触发器名称: trigger3 [INFO] 2011-07-11 02:57:20.000 下午 Thread-16 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:57:20 [WARN] 2011-07-11 02:57:20.000 下午 Thread-16 [org.quartz.examples.example3.SchedEventLister] 暂停当前线程5秒钟后在恢复触发器...,触发器组名: group1,触发器名称: trigger3 [WARN] 2011-07-11 02:57:25.000 下午 Thread-16 [org.quartz.examples.example3.SchedEventLister] 正在恢复了触发器...,触发器组名: group1,触发器名称: trigger3 [INFO] 2011-07-11 02:57:30.015 下午 DefaultQuartzScheduler_Worker-6 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:57:30.031 下午 DefaultQuartzScheduler_Worker-6 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:57:30,计数: 16 [INFO] 2011-07-11 02:57:30.031 下午 Thread-17 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:57:30 [INFO] 2011-07-11 02:57:30.031 下午 Thread-17 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:57:40.000 下午 DefaultQuartzScheduler_Worker-7 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:57:40.000 下午 DefaultQuartzScheduler_Worker-7 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:57:40,计数: 17 [INFO] 2011-07-11 02:57:40.000 下午 Thread-18 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:57:40 [INFO] 2011-07-11 02:57:40.000 下午 Thread-18 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:57:50.000 下午 DefaultQuartzScheduler_Worker-8 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:57:50.000 下午 DefaultQuartzScheduler_Worker-8 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:57:50,计数: 18 [INFO] 2011-07-11 02:57:50.000 下午 Thread-19 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:57:50 [INFO] 2011-07-11 02:57:50.000 下午 Thread-19 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:58:00.000 下午 DefaultQuartzScheduler_Worker-9 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:58:00.000 下午 DefaultQuartzScheduler_Worker-9 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:58:00,计数: 19 [INFO] 2011-07-11 02:58:00.000 下午 Thread-20 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:58:00 [INFO] 2011-07-11 02:58:00.000 下午 Thread-20 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:58:10.000 下午 DefaultQuartzScheduler_Worker-10 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听启动.... [INFO] 2011-07-11 02:58:10.000 下午 DefaultQuartzScheduler_Worker-10 [org.quartz.examples.example3.SimpleJob] 任务分组名称: group1,任务名称: job3,触发器组名称: group1,触发器名称: trigger3 执行时间: 2011-07-11 02:58:10,计数: 20 [INFO] 2011-07-11 02:58:10.000 下午 Thread-21 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。2011-07-11 02:58:10 [ERROR] 2011-07-11 02:58:10.000 下午 DefaultQuartzScheduler_Worker-10 [org.quartz.examples.example3.SimpleJob] 正在停止并且移除触发器...,触发器组名: group1,触发器名称: trigger3 [INFO] 2011-07-11 02:58:10.000 下午 Thread-21 [org.quartz.examples.example3.SchedEventLister] 触发器线程监听中。。。。,状态:正常 [INFO] 2011-07-11 02:59:56.828 下午 main [org.quartz.examples.example3.CronTriggerExample] ------- Shutting Down --------------------- [INFO] 2011-07-11 02:59:56.828 下午 main [org.quartz.core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutting down. [INFO] 2011-07-11 02:59:56.828 下午 main [org.quartz.core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED paused. [INFO] 2011-07-11 02:59:56.828 下午 main [org.quartz.core.QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutdown complete. [INFO] 2011-07-11 02:59:56.828 下午 main [org.quartz.examples.example3.CronTriggerExample] ------- Shutdown Complete ----------------- [INFO] 2011-07-11 02:59:56.828 下午 main [org.quartz.examples.example3.CronTriggerExample] Executed 20 jobs.
发表评论
-
【转载】Eclipse Class Decompiler——Java反编译插件
2018-06-24 11:09 1313参见:jd-eclipse 的安装和使用(最新版的) h ... -
java json-lib & jQuery & jsonp
2016-06-30 11:31 771参考链接: 1、http://hanqunfeng.iteye ... -
Java多线程序源码
2016-06-24 15:04 9851、《Java多线程编程核心技术》源代码(高洪岩) 2、Jav ... -
Spring & Junit
2016-05-27 13:18 7141 测试基类(BaseJunit4Test) import ... -
随机分配算法(Intege)
2016-01-08 13:05 5137参考资料: http://blog.csdn.net/yaer ... -
XSS之xssprotect
2012-12-07 23:03 29347参考资料 1 跨网站脚本 ... -
myeclispe之图解weblogic81配置
2011-11-07 10:11 1554一 创建Weblogic81域(如下图) 注意事项:一般 ... -
Java之Thread(线程题)
2011-10-31 12:33 1941特别说明:java线程相关的参考了张孝祥老师的代码 参考资料 ... -
Java之ThreadLocal(Synchronized)
2011-10-31 10:10 2640参考资料 1 深入研究java.lang.ThreadLoca ... -
Java之synchronized,wait,notify结合运用示例
2011-10-26 11:54 5888场景一:要求二个线程各 ... -
Java之synchronized深入应用
2011-10-23 08:03 1904参考资料 1 java synchronized详解 http ... -
Java之Timer入门
2011-10-11 15:32 1647参考资料 1 java中timer用 ... -
Java之线程(匿名内部类)
2011-10-10 16:36 163581 Thread对象 Thread t = new Thr ... -
Java之线程(join)
2011-10-10 15:39 1420运用场景:多个线程之间 ... -
Java之线程(synchronized,wait(),notify(),notifyAll())
2011-10-10 15:03 3195参考资料 Java多线程入门大全(适用于有一定基础者) htt ... -
Java之线程(sleep,线程名)
2011-10-10 13:09 9673参考资料 1 Java线程:创建与启动 http://lava ... -
Java之线程入门
2011-10-10 11:11 1499参考资料 1 Java线程:概 ... -
java之表反向生成类
2011-09-23 16:41 3408环境:XP+JDK1.5+Oracle10g 注意事项 1 请 ... -
java之线程, NIO学习资料
2011-09-19 12:13 1089Concurrent In Java 6 第一部分 集合 ... -
Java之BigDecimal
2011-09-15 10:12 17941参考资料 1 java.math.BigDecimal的用法 ...
相关推荐
quartz中CronTrigger的使用方法,列举了比较详细的例子。希望对你有所帮助。
Quartz CronTrigger配置说明Quartz CronTrigger配置说明Quartz CronTrigger配置说明Quartz CronTrigger配置说明
Quartz SimpleTrigger CronTrigger java 源码 多任务 单任务实现 jobQuartz SimpleTrigger CronTrigger java 源码 多任务 单任务实现 job
quartz-all-1.6.6.jar ...否则报错 java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class
spring quartz定时器的表达式
springboot jpa quartz 动态定时任务,任务增加,任务删除,任务修改demo,非常简单
这里面介绍了三种使用quartz定时任务的方式,第一种方式是完全使用代码写死的调用方式,第二种使用的是从数据库读取任务配置信息的调用方式,第三种是使用从数据库读取任务配置,生成CronTrigger的调用方式,...
Quartz 表达式自动生成插件,可以自动CronTrigger表达式
自己整理个一个quartz_demo集合,demo含CronTrigger方式、SimpleTrigger方式、spring集成CronTrigger方式、spring集成SimpleTrigger方式以及有状态作业方式。
Quartz学习的eclipse项目的实例
内容提要:Quartz 从属性文件中加载多个插件类时不能保证加载的顺序,所以本节引入一个自定义的统一按顺序加载其他插件的,名之为插件加载器的东西,其实也就是其他插件类的父亲。 第八章. 使用 Quartz 插件 (第五...
springboot整合quartz的demo,实现了simpleTrigger和cronTrigger,具体功能如下:项目启动后,每隔两秒输出一串星号,每隔三秒输出一串#号,访问controller后,添加定时任务,十秒后输出访问者的ip
1)与spring结合,创建crontrigger、simpletrigger 2)java代码实现quartz; 3)数据库持久化 3、使用说明 1)如果使用数据库持久化,请将conf\quartz.properties文件放到工程根目录下; 2)请初始化数据库,...
一个关于quartz定时器的例子,基于日历指定触发器,可以使用CronTrigger。使用CronTrigger可以实现类似的触发器,比如:每个星期五的下午。比如每个星期一,三和五的上午9点到10点之间每隔5分钟。 CronTrigger也有...
quartz表达式,可直接解压,使用java本地运行即可查看,编辑表达式,方便定时任务一目了然查看。cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。
Quertz中提供了两类触发器为:SimpleTrigger,CronTrigger。前者用于实现比较简单的定时功能,例如几点开始,几 点结束,隔多长时间执行,共执行多少次等,后者提供了使用表达式来描述定时功能,因此适用于比较复杂的...
Quartz框架的使用步骤是什么? SimpleTrigger和CronTrigger的区别是什么? 使用Spring整合Quartz的步骤是什么?
学习了spring中aop原理,学习并实现简单的ioc注入,学习了一些关于quartz的用法(simpletrigger,crontrigger),简单的一些事务配置等
quartz表达式,可直接解压,使用java本地运行即可查看,编辑表达式,方便定时任务一目了然查看。cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。
gitbucket备份插件为GitBucket提供所有备份功能特征该插件为以下数据提供备份功能。 数据库内容用户存储库Wiki资料库发行和发布的附件用户头像数据并通过电子邮件... # Backup timing (Required)# For details, see ...