项目要用到Quartz,所以研究了一下Quartz的配置.虽然很简单,但还是查看了一天的资料才配置好,发现浪费了很多时间,其实可以看Quartz自带的实例就可以完成配置,不过自己动手做过的确更有把握一点。
Quartz需要配置三个文件web.xml,quartz.property,quartz_job.xml
下面是web.xml,从配置中可以看到是用QuartzInitializerServlet来初始化的。config-file的文件名可以指定。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Quartz</display-name>
<servlet>
<servlet-name>quartz</servlet-name>
<servlet-class>
org.quartz.ee.servlet.QuartzInitializerServlet
</servlet-class>
<init-param>
<param-name>config-file</param-name>
<param-value>/quartz.properties</param-value>
</init-param>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>start-scheduler-on-load</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
quartz.property文件
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 4
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = quartz_job.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 120
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false
quartz_job.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<job-scheduling-data xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd"
version="1.8">
<pre-processing-commands>
<delete-jobs-in-group>*</delete-jobs-in-group> <!-- clear all jobs in scheduler -->
<delete-triggers-in-group>*</delete-triggers-in-group> <!-- clear all triggers in scheduler -->
</pre-processing-commands>
<processing-directives>
<!-- if there are any jobs/trigger in scheduler of same name (as in this file), overwrite them -->
<overwrite-existing-data>true</overwrite-existing-data>
<!-- if there are any jobs/trigger in scheduler of same name (as in this file), and over-write is false, ignore them rather then generating an error -->
<ignore-duplicates>false</ignore-duplicates>
</processing-directives>
<schedule>
<job>
<name>coinJob</name>
<group>job</group>
<job-class>CoinJob</job-class>
<volatility>false</volatility>
<durability>true</durability>
<recover>false</recover>
</job>
<trigger>
<simple>
<name>t1</name>
<group>job</group>
<job-name>coinJob</job-name>
<job-group>job</job-group>
<repeat-count>-1</repeat-count>
<repeat-interval>1000</repeat-interval>
</simple>
</trigger>
</schedule>
</job-scheduling-data>
示例代码;
分享到:
相关推荐
Quartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-commerce ...
本文将深入探讨Spring3与Quartz1.8的集成与使用,包括配置方法、API使用以及集群设置。 一、Spring3与Quartz的结合 1. 配置引入 首先,我们需要在Spring的配置文件中引入Quartz的相关依赖。在`beans.xml`中添加...
2. **配置 Quartz**:在 `quartz.properties` 文件中,定义 Quartz 的配置,如数据库连接、线程池大小等。 3. **定义 Job 类**:创建实现 `org.quartz.Job` 接口的类,定义任务逻辑。 4. **创建 JobDetail**:在 ...
Spring Quartz 1.8.x 是一个基于Java的开源任务调度框架,它允许开发者在应用程序中定义定时任务。这个版本是Spring对Quartz Scheduler的一个集成,Quartz是一个强大的、完全可配置的作业调度库,用于执行计划任务。...
在Quartz 1.8版本中,配置作业(Job)主要是通过一个名为`quartz_jobs.xml`的配置文件进行的。这个文件定义了作业的详情,包括它们的触发器、调度策略以及与之关联的类。下面我们将深入探讨`quartz_jobs.xml`文件的...
Quartz1.8版本是其早期的一个稳定版本,被广泛应用于各种项目中。本范例主要展示了如何在Java线程和Web环境中使用Quartz来实现任务调度。 首先,让我们深入了解一下Quartz的核心概念: 1. **Job**: Job是Quartz中...
现有需求需要每天早上2点和下午5点执行一个方法Synchronization.run(): ...-- 最终启动的配置 --> class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> </bean>
解决这些问题通常需要检查依赖库的兼容性、正确配置 Quartz 配置文件以及确保 Job 类和 Trigger 的正确实现。 6. **示例项目**:提供的 "sq" 压缩包文件很可能是这个整合项目的源代码和库文件。通过查看源码,我们...
4. **配置文件**:不同版本的Quartz可能有不同的默认配置,因此在迁移时需要注意更新配置文件,以确保新版本能正确运行。 5. **兼容性**:如果你的项目已经基于1.6版本的Quartz,升级到1.8时需要注意兼容性问题,...
Quartz是Java领域一个著名的开源任务调度框架,其1.8.0版本是该软件的一个稳定发行版。这个框架主要用于创建、管理和执行计划任务,它允许开发者在应用程序中定义定时任务,实现对业务逻辑的自动触发。Quartz的核心...
Quartz是一款广泛应用于Java环境中的开源任务调度框架,它允许开发者定义、安排和执行复杂的定时...同时,根据项目需求,可能需要了解并配置Quartz的各种配置选项,如数据源、触发器策略等,以实现最佳的定时任务调度。
6. **并发与线程管理**:Quartz 内部使用线程池执行 Job,可以通过配置来调整线程池大小,以适应不同负载的需求。 7. **插件**:Quartz 允许添加插件来扩展其功能,如邮件通知、日志记录等。 8. **API 与表达式**...
Spring Quartz 是一个集成Quartz定时任务框架与Spring的开源项目,它使得在Spring应用中配置和管理定时任务变得更加便捷。Quartz是Java平台上的一个强大、完全可移植的作业调度库,可以用来创建复杂的调度任务,而...
Quartz的配置可以通过`org.quartz.impl.StdSchedulerFactory`进行设置,可以通过XML文件、Properties文件或Java代码来指定配置细节。配置项包括JobStore的选择、线程池的配置等。 #### 1.11 高级(企业级)属性 ...
2. **配置**:在项目中创建一个配置文件,例如`quartz.properties`,配置数据库连接、job存储策略、线程池大小等参数。 3. **作业和触发器定义**:创建Job类实现`org.quartz.Job`接口,定义任务逻辑。同时,创建...
5. **commons-digester-1.8.jar**: Commons Digester库允许开发者基于XML配置文件自动创建和初始化Java对象。在Quartz中,它可能被用来解析配置文件,动态地生成和配置调度任务。 6. **commons-logging-1.1.jar**: ...
quartz-1.8以前的配置 class="org.springframework.scheduling.quartz.CronTriggerBean"> <value>0/1 * * * * ? --> <!-- quartz-2.x的配置 --> class="org.springframework....
- 在项目中添加 Quartz 相关的依赖库,如 `quartz-1.6` 或 `quartz-1.8`,以及 Spring 提供的上下文支持、Web 支持、日志库(如 Commons-collections)等。 3. **编写 Job 类** - 创建一个实现了 `org.quartz.Job...
在运行环境中,如MyEclipse 2016 1.0和JDK 1.8,这个小DEMO将展示如何在Spring上下文中启动和管理Quartz定时任务。需要注意的是,为了实现任务的持久化,通常还需要配置数据源(`dataSource`)以便Quartz能存储Job和...