package org.quartz.examples.example1; import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; public class HelloJob implements Job { private static Logger _log = LoggerFactory.getLogger(HelloJob.class); public HelloJob() { } public void execute(JobExecutionContext context) throws JobExecutionException { _log.info("Hello World! - " + new Date()); } }
package org.quartz.examples.example1; import static org.quartz.JobBuilder.newJob; import static org.quartz.TriggerBuilder.newTrigger; import static org.quartz.DateBuilder.*; import java.util.Date; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.impl.StdSchedulerFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 演示怎样启动和关闭Quartz scheduler,怎样调度并运行一个job */ public class SimpleExample { public void run() throws Exception { Logger log = LoggerFactory.getLogger(SimpleExample.class); log.info("------- Initializing ----------------------"); // 实现获取一个scheduler实例 SchedulerFactory sf = new StdSchedulerFactory(); Scheduler sched = sf.getScheduler(); log.info("------- Initialization Complete -----------"); // computer a time that is on the next round minute Date runTime = evenMinuteDate(new Date()); log.info("------- Scheduling Job -------------------"); // 定义一个绑定到 HelloJob class的 job实例 JobDetail job = newJob(HelloJob.class).withIdentity("job1", "group1") .build(); // 定义一个该job的触发器 Trigger trigger = newTrigger().withIdentity("trigger1", "group1") .startAt(runTime).build(); // 通知quartz使用触发器调度job sched.scheduleJob(job, trigger); log.info(job.getKey() + " will run at: " + runTime); // 启动 scheduler (启动之前,任何任务都不会运行) sched.start(); log.info("------- Started Scheduler -----------------"); log.info("------- Waiting 20 seconds... -------------"); try { Thread.sleep(20L * 1000L); // executing... } catch (Exception e) { } // 关闭 scheduler log.info("------- Shutting Down ---------------------"); sched.shutdown(true); log.info("------- Shutdown Complete -----------------"); } public static void main(String[] args) throws Exception { SimpleExample example = new SimpleExample(); example.run(); } }
org.quartz.scheduler.instanceName: PriorityExampleScheduler # Set thread count to 1 to force Triggers scheduled for the same time to # to be ordered by priority. org.quartz.threadPool.threadCount: 1 org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="default" class="org.apache.log4j.ConsoleAppender"> <param name="target" value="System.out"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%p] %d %t [%c]%m%n"/> </layout> </appender> <logger name="org.quartz"> <level value="info" /> </logger> <root> <level value="info" /> <appender-ref ref="default" /> </root> </log4j:configuration>
关联的jar包:quartz-2.1.7.jar c3p0-0.9.1.1.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar log4j-1.2.16.jar
相关推荐
本示例 "Multiple-Jobs-in-Quartz-Spring-Example" 旨在展示如何在 Spring 应用中集成多个 Quartz 任务。对于Java开发人员来说,这可能是了解如何在实际项目中使用这两种技术协同工作的一个绝佳实践。 首先,我们...
Spring 3.0 和 Quartz 1.6.0 结合使用是企业级应用中常见的定时任务解决方案。Spring 是一个强大的Java应用程序框架,提供了依赖注入、AOP(面向切面编程)以及众多其他功能,而Quartz则是一个开源的作业调度框架,...
标题 "Spring + Quartz配置实例(转载)" 暗示了我们将讨论如何在Java环境中整合Spring框架与Quartz作业调度库的使用。Quartz是一个开源的作业调度库,它允许开发者安排任务以在特定时间执行,而Spring框架则是一个...
1. **example14**:这个例子可能涉及到定时发送邮件或者执行复杂的业务逻辑。在Quartz中,我们可以通过Job类定义任务,Trigger定义触发时间,而Scheduler则负责管理和执行这些任务。在example14中,可能会展示如何...
首先,集成Quartz到Spring应用中,我们需要在项目的配置文件中引入Quartz的相关依赖,例如在`pom.xml`或`build.gradle`中添加Quartz库。同时,需要在Spring的配置文件(如`applicationContext.xml`)中配置Scheduler...
Quartz是一款功能强大的开源作业调度框架,常用于Java Web应用中进行定时任务的管理。它提供了丰富的API,允许开发者灵活地定义...在实际开发中,结合提供的quartz_example,你可以进一步了解和掌握Quartz的使用方法。
1. **配置Quartz实例**:在`spring.quartz`下定义Quartz的相关属性,如是否自动启动、线程池大小等。 ```yaml spring: quartz: job-store-type: jdbc auto-startup: true scheduler-instance-id: AUTO ...
### Quartz 的基本概念与应用实例解析 #### 一、Quartz 概述 Quartz 是 OpenSymphony 开源组织在 Job Scheduling 领域的一个重要开源项目。它能够与 J2EE 和 J2SE 应用程序紧密结合,也可以独立运行。Quartz 被...
本文档将基于 `Quartz_Scheduler_Example_Programs_and_Sample_Code.pdf` 版本 2.2.1,深入探讨其中的关键概念、示例程序以及样例代码,旨在帮助读者更好地理解和应用 Quartz Scheduler。 #### 关于 Quartz 示例...
Spring Quartz实例提供了灵活的任务调度能力,适用于各种业务场景,如定期数据同步、定时发送邮件等。通过上述步骤,你可以创建自己的定时任务,并根据项目需求调整触发策略。这个实例包含了完整的配置和示例代码,...
此外,每个节点还需要设置`org.quartz.scheduler.instanceId`属性为`AUTO`,以便Quartz自动为每个实例分配唯一的ID。 通过以上步骤,你就可以成功地在Spring中整合Quartz并使用JDBC存储任务信息了。这种方式不仅...
spring-boot-example spring boot 相关实例,不断更新,欢迎点亮 Demo项目名称 含义 博客介绍 整合Apollo应用配置中心 Aop 整合阿里云Acm应用配置中心 基于切面与redis实现统一方法缓存 整合Dubbo 整合elasticsearch...
本文将深入探讨Spring3与Quartz1.8的集成与使用,包括配置方法、API使用以及集群设置。 一、Spring3与Quartz的结合 1. 配置引入 首先,我们需要在Spring的配置文件中引入Quartz的相关依赖。在`beans.xml`中添加...
通过提供的文档和实例,你可以深入学习如何在实际项目中配置和使用Spring+Quartz的组合,进一步了解如何定义和调整Trigger,以及如何处理Job的执行异常。通过实践,你将能熟练掌握这个强大的定时任务解决方案。
4. **声明JobDetail**:在Spring配置文件中声明JobDetail,这会告诉Quartz如何实例化和执行Job。例如: ```xml <bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> ...
Spring框架以其强大的整合能力,为开发者提供了与各种任务调度库集成的方案,其中Quartz是一款广泛应用的开源任务调度库。本教程将深入探讨如何在Spring项目中集成Quartz,通过实例解析实现过程。 Quartz是Java平台...
要在SpringBoot项目中使用Quartz,你需要在`pom.xml`文件中添加Quartz和SpringBoot对Quartz的支持依赖。例如: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-quartz ``` 接着,...
1. **灵活的调度**:Quartz 支持多种类型的触发器,如 SimpleTrigger 和 CronTrigger,可以创建复杂的调度策略。 2. **持久化**:Quartz 提供了调度状态的持久化功能,确保即使系统崩溃,任务调度信息也不会丢失。 3...
Spring框架与Quartz结合使用,可以实现灵活的、可扩展的定时任务管理。在"quartz-all-1.6.0.jar"中,包含了Quartz的核心库和其他必要的组件,允许开发者在Spring应用上下文中配置和管理定时任务。 在Spring中集成...
Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中安排任务。它允许开发者定义复杂的调度规则,如定时执行、周期性任务等。Spring 是一个广泛使用的 Java 应用开发框架,提供依赖注入、AOP(面向切面编程)...