最近在开发的过程中,经常要使用系统自动清零的操作,比如说:系统在给定的时间跟客户发送电子邮件,在指定的时间段内执行某些操作等等,如果我们只是人工去操作的话不但步骤非常的麻烦而且觉得这是一个工作量非常大的任务,有了quartz框架以后我们所有的任务多可以交给它去做,程序员唯一要做的只是编写代码并配置一下程序就OK了,这样大大提高了开发速度和工作效率.配置步骤如下:
1、编写quartz.properties文件:代码如下:
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
#org.quartz.scheduler.rmi.export = false
#org.quartz.scheduler.rmi.proxy = false
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 4
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure Plugins
#============================================================================
#org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = /scheduler/quartz_job.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
2、编写quartz_job.xml
<?xml version='1.0' encoding='utf-8'?>
<quartz>
<job>
<job-detail>
<name>test</name>
<group>DEFAULT</group>
<description>testJobhere</description>
<job-class>scheduler.TestJob</job-class>
<job-data-map allows-transient-data="true">
<entry>
<key>name</key>
<value>test</value>
</entry>
</job-data-map>
</job-detail>
<trigger>
<cron>
<name>testCron</name>
<group>DEFAULT</group>
<job-name>test</job-name>
<job-group>DEFALUT</job-group>
<!--x/? x表示间断启动时间 ?表示执行间隔时间 13启动时间-->
<cron-expression>0 1/2 23 * * ?</cron-expression>
<!--每月1号0点执行
<cron-expression>0 1 0 1 1-12 ?</cron-expression>
-->
</cron>
</trigger>
</job>
3、编写java代码进行测试:
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class ZeroCount implements Job{
public void execute(JobExecutionContext context) throws JobExecutionException
{
String name = context.getJobDetail().getJobDataMap().getString("name");
System.out.println(name);
}
}
出下以下结果表示配置成功:
test
4、此步骤是最后一步也是最重要的一步,只要加入如下代码的到/WEB-INF/web.xml文件中在指定的时间内就会执行系统调度.
<servlet>
<servlet-name>QuartzInitializer</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>
<load-on-startup>1</load-on-startup>
<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>
</servlet>
参考网站:http://www.iocblog.net/project/quartz.html
转载:http://www.blogjava.net/sunwch/archive/2008/11/21/quartz.html
分享到:
相关推荐
### Java Quartz 详解 #### 一、Quartz 概述 Quartz 是一款开源的作业调度框架,可以用来实现各种定时任务的需求。它提供了一种简单的方式来定义触发器(Trigger),用于设定作业(Job)何时运行。Quartz 的灵活性...
Quartz.NET是一个开源的作业调度框架,用于在.NET环境中创建和执行计划任务。它提供了高度可配置和可扩展性,使开发者能够灵活地定义和管理各种定时任务。2.3.1版本是官方在2015年1月15日发布的,这个压缩包包含了该...
非常详细的Quartz详细入门教程。新手值得一看,高手请忽略。
SpringBoot和Quartz的结合是Java开发者在构建可扩展、高效任务调度系统时常见的选择。SpringBoot以其便捷的启动和管理特性,简化了Java应用程序的开发,而Quartz则是一款强大的开源作业调度框架,能够方便地创建和...
**Spring整合Quartz详解** Spring框架是Java领域中极为重要的应用框架,而Quartz则是一个功能强大的任务调度库,能够帮助我们实现定时任务的管理。将Spring与Quartz结合使用,可以充分利用Spring的依赖注入(DI)和...
Spring 整合 Quartz 框架过程详解 本文主要介绍了 Spring 整合 Quartz 框架的过程详解,通过示例代码对大家的学习或者工作具有参考学习价值。 一、Quartz 框架简介 Quartz 是一个完全由 Java 编写的开源任务调度...
.NET Core使用Quartz执行调度任务是一项常见的需求,尤其是在需要定期执行特定业务逻辑的场景中。Quartz.Net是一个功能丰富的开源任务调度框架,适用于多种.NET环境,包括.NET Core。本文将深入探讨如何在.NET Core ...
Quartz 使用详解 Quartz 是一个功能强大的作业调度器,可以帮助开发者实现复杂的任务调度和执行。下面是关于 Quartz 使用详解的知识点总结。 一、实例化 Scheduler 在使用 Quartz 之前, 必须使用 ...
### Quartz之CronExpression详解 #### 一、CronExpression概述 CronExpression是一种用于配置Quartz调度器中定时任务的表达式格式。通过这种格式化的字符串,用户能够灵活地定义任务执行的时间规律。...
Quartz定时任务详解 Quartz 是一个功能齐全的开源作业调度系统,可以用于从最小的应用程序到大型企业系统。Quartz 非常灵活,包含多个可以单独或一起使用的使用范例,以实现您想要的行为,并使您能够以对您的项目最...
OpenSymphony 的Quartz提供了一个比较完美的任务调度解决方案。 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。 Quartz中有两个基本概念:作业和触发器。作业是...
**Quartz详解:** Quartz是Java平台上的一款开源作业调度框架,它支持复杂的调度配置,如定时、触发器和作业。在IotService中,Quartz可能被用来定期检查设备状态、执行远程指令或处理设备上报的数据。开发者可以...
**Android Studio下的Quartz工程详解** Quartz是一个开源的作业调度框架,广泛应用于Java环境中的任务调度。在Android Studio中使用Quartz,可以为应用程序添加定时执行的任务功能,例如定期发送通知、更新数据或者...
Quartz是Java领域中广泛应用的一款开源的作业调度框架,它允许开发者在应用程序中安排复杂的定时任务。本教程将深入探讨Quartz的核心概念、配置、API使用以及如何在实际项目中集成和管理定时任务。 一、Quartz核心...
**SpringBoot整合Quartz详解** 在Java开发领域,SpringBoot框架因其简洁的配置和快速的启动而备受青睐,而Quartz则是一款强大的任务调度库,它允许开发者灵活地定义和执行定时任务。当需要在SpringBoot应用中实现...
在Spring Boot应用中整合Quartz定时任务是一种常见的需求,它可以帮助我们执行周期性的后台任务,如数据同步、报表生成等。Spring Boot与Quartz的结合提供了便捷的配置方式,特别是通过YAML(YAML Ain't Markup ...
Quartz2D在iOS开发中,我们经常使用它来创建自定义视图,因为它的功能强大,能够绘制复杂的图形、文字以及图像。Quartz2D的核心在于它的绘图引擎,这是一个基于C语言的API,被包含在Core Graphics框架中。在iOS中,...
Quartz.NET 是一个开源的作业调度框架,用于在 .NET 应用程序中实现任务的自动化执行。它允许开发者定义任务(Job)和触发器(Trigger),并根据预设的时间表自动执行这些任务。本文将深入解析 Quartz.NET 的配置...
Quartz Scheduler是一款功能强大的开源作业调度库,由James House于1997年发起,遵循Apache许可证。Quartz可以集成到几乎所有的Java应用程序——从简单的独立应用程序到大型电子商务系统。它提供了广泛的作业调度...