quartz 详解
最近在开发的过程中,经常要使用系统自动清零的操作,比如说:系统在给定的时间跟客户发送电子邮件,在指定的时间段内执行某些操作等等,如果我们只是人工去操作的话不但步骤非常的麻烦而且觉得这是一个工作量非常大的任务,有了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
分享到:
相关推荐
《Grails Quartz 0.4.1 插件详解及应用》 在Java开发领域,Quartz是一款广泛应用的作业调度框架,它允许开发者定义、调度和执行任务。而在Groovy和Grails的世界里,Grails Quartz插件为开发者提供了一个无缝集成...
8. **监控和管理界面**:Quartz提供了一个Web管理界面(如`q艺术`),可以查看和管理所有的作业和触发器。在SpringBoot应用中集成这个界面,可以帮助开发者实时监控任务状态。 9. **测试和部署**:案例可能包括了...
### Quartz入门到精通知识点详解 #### 一、Quartz简介与特点 Quartz是一个功能强大的开源作业调度框架,主要用于Java应用程序中。它不仅易于使用,还提供了高度的灵活性,适用于各种复杂的调度需求。Quartz支持...
【Timer与Quartz定时器详解】 在Java世界中,实现定时任务有多种方式,其中最常见的是JDK自带的Timer和Spring集成的Quartz框架。本文将深入剖析这两种定时器的特点、优缺点以及代码实例。 一、JDK的Timer Timer是...
### quartz开源作业调度框架知识点详解 #### 一、Quartz框架简介 Quartz是一个功能强大的、开源的作业调度框架,完全由Java编写而成。它能够被应用在服务器端的Java应用程序中,帮助开发者轻松地创建并管理定时任务...
### Quartz 定时任务框架配置与部署详解 #### 一、Quartz 框架简介 Quartz 是一款开源的、功能强大的作业调度框架,它能够实现触发器(Trigger)和作业(Job)的调度,并支持多种触发机制,如简单重复触发、基于...
【Kettle Manager 集成Web页面调度】详解 Kettle,又称Pentaho Data Integration(PDI),是由Pentaho公司开发的一款强大的ETL(数据抽取、转换、加载)工具。Kettle Manager是Kettle的一部分,它提供了一个管理...
【SSM+Quartz 定时任务管理Demo详解】 在Java Web开发中,定时任务是一项常见且重要的功能,用于执行一些周期性或者特定时间点的任务,例如数据统计、备份、清理等。本Demo以"基于SSM+quartz的定时任务管理"为主题...
### quartz集群调度详解 #### 一、引言与背景 Quartz是一个强大的Java任务调度框架,在企业级应用中占据重要地位。随着系统复杂度的提升,特别是在分布式环境中,如何高效地进行任务调度变得尤为重要。本文将详细...
【Spring + Quartz 框架整合详解】 Spring 和 Quartz 是两个在 Java 开发领域中非常重要的框架。Spring 是一个全面的、开源的应用框架,提供依赖注入(DI)、面向切面编程(AOP)以及用于简化企业级应用开发的其他...
Spring Quartz 集群配置详解 在分布式系统中,定时任务的管理往往是一个重要的环节,Spring与Quartz的结合能够帮助我们实现复杂的工作调度。Quartz是一个开源的作业调度框架,它提供了高度可配置的定时任务执行能力...
【SpringBoot定时任务与Layui界面集成详解】 在现代Web开发中,SpringBoot因其简洁、高效的特性,已经成为Java开发者构建后端服务的首选框架。而定时任务是系统功能的重要组成部分,它允许开发者安排任务在特定时间...
3. 任务监控:通过Quartz提供的API或Web界面,可以实时监控任务状态,方便调试和问题排查。 4. 任务分组与命名空间:可以对Job和Trigger进行分组和命名,便于管理和查找。 5. 任务触发策略:除了CRON和简单触发,还...
此外,还可以使用Quartz提供的Web管理界面(如JMX或WebUI)实时查看和调整任务。 总结,Quartz通过配置文件提供了灵活的定时任务管理,我们可以根据需求调整Scheduler参数,定义Job和Trigger,并结合编程API实现...
【Spring + Quartz 知识点详解】 Spring 和 Quartz 是在 Java 开发中广泛使用的两个库,它们分别在依赖注入和任务调度方面发挥着重要作用。Spring 是一个强大的企业级应用框架,提供诸如 AOP(面向切面编程)、DI...
7. **监控与管理**:可以使用Quartz提供的API或者Web界面监控Job和Trigger的状态,进行暂停、恢复、删除等操作。 四、API详解 Quartz 2.0.2的API文档涵盖了所有类、接口、方法和常量,提供了详细的说明和示例。...
#### 二、Quartz Job配置详解 根据提供的`web.xml`片段,我们可以看到对Quartz Job的初始化配置: 1. **QuartzInitializerServlet**: - **Servlet Name**: QuartzInitializer,定义了Quartz初始化的Servlet名称。...
**Quartz Cron表达式详解:** Cron表达式由7个子表达式组成,每个子表达式代表不同的时间元素,从左到右依次为:秒、分钟、小时、日期、月份中的日期、月份、星期几。每个子表达式可以是一个固定的值、范围、列表、...
### 配置Spring+Quartz定时器的知识点详解 #### 一、Quartz简介与应用场景 Quartz 是一个开源的任务调度框架,它提供了强大的任务调度功能,并且易于配置和使用。该框架支持复杂的循环调度策略,可以触发任务的...