Job类:
public class MyJob implements Job { public void execute(JobExecutionContext context)throws JobExecutionException { System.out.println(context.getJobDetail().getJobDataMap().get("username")); System.out.println(context.getPreviousFireTime() + ", " + context.getFireTime() + ", " + context.getNextFireTime()); } }
main类:
Scheduler scheduler = null; try{ //new Scheduler DirectSchedulerFactory factory = DirectSchedulerFactory.getInstance(); factory.createVolatileScheduler(5); scheduler = factory.getScheduler(); scheduler.start(); //new JobDetail JobDetail jobDetail = JobBuilder .newJob(MyJob.class) .withIdentity("myJobName", Scheduler.DEFAULT_GROUP) .build(); //DataMap JobDataMap jobDataMap = jobDetail.getJobDataMap(); jobDataMap.put("username", "zhangsan"); //new CronTrigger CronTrigger trigger = TriggerBuilder .newTrigger() .withIdentity("cronTriggerName", Scheduler.DEFAULT_GROUP) .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ?")) .build(); scheduler.scheduleJob(jobDetail, trigger); //手工触发job //jobDataMap.put("username2", "zhangsan"); //scheduler.triggerJob(JobKey.jobKey("myJobName", Scheduler.DEFAULT_GROUP), jobDataMap); //验证cron是否有效 System.out.println(CronExpression.isValidExpression("0 *")); }catch(Exception ex){ ex.printStackTrace(); if(scheduler != null){ try { scheduler.shutdown(); } catch (SchedulerException e) { e.printStackTrace(); } } }
相关推荐
2. **Quartz库**:Quartz是Java的一个开源作业调度框架,可以用来安排和执行周期性的任务。它支持复杂的时间表定义,如cron表达式,同时具备高可用性和可扩展性。 3. **集成Spring与Quartz**:Spring提供了一个名为...
这个例子提供了 Quartz 的实际运行示例,帮助开发者更好地理解和使用这个强大的工具。 首先,让我们了解一下 Quartz 的基本概念。Quartz 提供了一个完全基于 Java 的 API 来创建、触发和管理作业(Job)和触发器...
这个"quartz15个例子"很可能是提供了一系列的示例代码,帮助开发者了解和掌握 Quartz 的核心功能和用法。让我们深入探讨 Quartz 的关键特性、使用场景以及这些例子可能涉及的内容。 1. **Quartz 简介** - Quartz ...
2. **Quartz 配置**: 通常会有一个 `quartz.properties` 文件来配置 Quartz 的行为,比如数据库连接、线程池大小等。例如: ``` org.quartz.scheduler.instanceName = MyScheduler org.quartz.threadPool....
Quartz2D是苹果操作系统...通过对`QuartzDemo`项目的分析和学习,开发者能够深入理解Quartz2D的工作原理,提升在苹果平台上的图形编程能力。如果博客链接可用,可以通过阅读博主的解释来获得更直观的理解和实践指导。
你和你的团队是用.NET编程吗?如果这些问题中任何一个你回答是,那么你应该使用Quartz.NET调度器。 Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与...
在这个"quartz_annotation"的例子中,我们将探讨如何利用注解(Annotation)的方式来配置和控制Quartz作业。 在传统的Quartz使用中,我们通常通过XML配置文件或者程序代码来定义Job类和Trigger,但随着Java EE和...
2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,定义SchedulerFactoryBean,这是Spring管理Quartz Scheduler的主要方式: ```xml ...
Quartz的设计模式遵循了工厂模式、观察者模式和单例模式等,源码阅读有助于提升对任务调度和并发编程的理解。 八、开发工具 为了方便使用Quartz,有一些工具可以帮助开发者,如: - QuartzAdmin:一个基于Web的...
2. **持久化**:Quartz支持任务和触发器的持久化存储,这意味着即使应用程序关闭,任务和触发器的信息也能被保存下来,以便在下次启动时恢复调度。 3. **集群支持**:Quartz可以在多台服务器上运行,形成一个集群,...
- **Scheduler Factory Bean**:Spring 提供了 `SchedulerFactoryBean`,它是配置 Quartz Scheduler 的便捷方式,可以通过 XML 配置或 Java 配置进行设置。 4. **项目结构**: - 由于项目是基于 MyEclipse 开发的...
此外,还需要配置集群节点间的通信方式,比如使用TCP或者Remoting。 ```xml <property name="quartz.scheduler.instanceName">MyClusteredInstance <property name="quartz.scheduler.instanceId">AUTO ...
Spring框架是Java应用开发中的一个核心组件,它提供了丰富的功能,包括依赖注入、AOP(面向切面编程)以及各种企业级服务。Quartz则是一个强大的、开源的作业调度框架,用于创建和执行作业,实现应用程序的定时任务...
Spring通过其优秀的依赖注入(DI)和AOP(面向切面编程)特性,与Quartz相结合,简化了定时任务的配置和管理。下面我们将深入探讨如何利用Spring注解实现Quartz定时执行功能。 首先,我们需要引入Quartz和Spring的...
本文将深入探讨如何在Spring 3中整合Quartz 2来实现灵活、可扩展的定时任务系统。 首先,我们要了解Spring 3与Quartz 2的基本概念。Spring 3是Spring框架的一个版本,它提供了诸如依赖注入、面向切面编程、数据访问...
Quartz是Java领域的一款功能强大的作业调度库,而Spring通过其优秀的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)特性,将Quartz与应用程序的其他部分无缝连接,提供...
2. **spring.jar**:Spring框架的核心库,包含了Spring的核心功能,如IoC容器、AOP等,使得与Quartz的整合更加顺滑。 3. **配置文件**:通常包括`quartz.properties`和`applicationContext.xml`。`quartz....
Quartz 是一个强大的、完全可定制的作业调度库,而 Spring 则是Java应用程序的全面框架,它提供了依赖注入、AOP(面向切面编程)、事务管理等功能。 Quartz 2.2.1: Quartz 是一个开源的作业调度框架,它允许开发者...
- `org.quartz.jobStore.class`: 指定作业存储方式,例如`RAMJobStore`(内存中存储)、`JDBCJobStore`(数据库存储)或`TerracottaJobStore`(Terracotta服务器存储)。 `JDBCJobStore`需要额外的数据库支持,需要...
这个"quartz.rar"压缩包包含了使用Quartz进行定时任务编程所需的相关资源。 Quartz的主要功能包括: 1. **作业与触发器**:Quartz允许开发者定义作业(Job)和触发器(Trigger)。作业是实际要执行的任务,而触发器...