Quartz 是个开源的作业调度框架,
为在 Java 应用程序中进行作业调度提供了简单却强大的机制。
Quartz 允许开发人员根据时间间隔(或天)来调度作业。
它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。
整合了 Quartz 的应用程序可以重用来自不同事件的作业,
还可以为一个事件组合多个作业。
1. 下载 Quartz API。
2. 新建web项目
3. 解压缩并把 quartz-x.x.x.jar、core 和/或 optional 文件夹中的 jar 文件和optional 文件夹中的 jar 文件 放在项目lib文件夹内。如果使用 JDBCJobStore,把所有的 JDBC jar 文件放在项目的lib文件夹。
4. 新建java类作为一个job,必须实现org.quartz.Job接口
public class SimpleJob implements Job {
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("In SimpleQuartzJob - executing its JOB at "
+ new Date() + " by " + context.getTrigger().getName());
}
}
5. 在src下新建quartz_job.xml,<cron-expression>0/2 * * * * ?</cron-expression>配置从0秒开始每两秒执行一次
<?xml version="1.0" encoding="UTF-8"?>
<quartz>
<job>
<job-detail>
<name>job1</name>
<group>job</group>
<job-class>com.capinfo.job.SimpleJob</job-class>
</job-detail>
<trigger>
<cron>
<name>t1</name>
<group>job</group>
<job-name>job1</job-name>
<job-group>job</job-group>
<cron-expression>0/2 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
6. 在web.xml中加入:
<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>
<load-on-startup>1</load-on-startup>
</servlet>
7. 在src下新建quartz.properties
#########################################################################
#============================================================================
# Configure Main Scheduler Properties
#============================================================================
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = i_one
#============================================================================
# Configure ThreadPool
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 5
#============================================================================
# Configure JobStore
#============================================================================
#org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
#org.quartz.jobStore.useProperties=false
org.quartz.jobStore.dataSource=myDS
#org.quartz.jobStore.tablePrefix=QRTZ_
#org.quartz.jobStore.isClustered=true
#============================================================================
# Other Example Delegates
#============================================================================
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.CloudscapeDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DB2v6Delegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DB2v7Delegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.DriverDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PointbaseDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.WebLogicDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.WebLogicOracleDelegate
#============================================================================
# Configure Datasources
#============================================================================
org.quartz.dataSource.myDS.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
org.quartz.dataSource.myDS.URL = jdbc:sqlserver://localhost:1433;;DatabaseName=quartzdb;autoReconnect=true
org.quartz.dataSource.myDS.user = sa
org.quartz.dataSource.myDS.password = 123456
org.quartz.dataSource.myDS.maxConnections = 5
org.quartz.dataSource.myDS.validationQuery=
#============================================================================
# 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 = quartz_job.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = true
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.jobInitializer.scanInterval = 10
org.quartz.plugin.jobInitializer.wrapInUserTransaction = false
#org.quartz.plugin.shutdownHook.class = org.quartz.plugins.management.ShutdownHookPlugin
#org.quartz.plugin.shutdownHook.cleanShutdown = true
#org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin
8. 初始化数据库表,在\quartz-1.6.5\docs\dbTables中有sql脚本
9. OK,部署,运行
- 浏览: 529632 次
- 性别:
- 来自: 上海
最新评论
-
jingchh:
帅哥, 这个类是哪个包下面的呢? 应该下载哪个jar包,谢谢~ ...
StringUtils工具类的常用方法 -
Nabulio:
StringUtils工具类的常用方法 -
yuanyuan2597:
那请问,按照你的方法进行修改调用。SELECT locatio ...
根据经纬度实现附近搜索Java实现 -
yangguo:
这个经理有病,埋伏打他一顿。
复试 等电话 -
emparadise329:
进一步学习了子类与父类间的关系
Java 子类对象实例化 面试题
相关推荐
Quartz是一款开源的作业调度框架,它为Java应用程序提供了强大的定时任务处理能力。在Spring框架中,Quartz可以被集成来实现复杂的定时任务调度。本文将深入探讨Quartz的使用,包括其基本概念、配置、API以及在Web...
### quartz开源作业调度框架知识点详解 #### 一、Quartz框架简介 Quartz是一个功能强大的、开源的作业调度框架,完全由Java编写而成。它能够被应用在服务器端的Java应用程序中,帮助开发者轻松地创建并管理定时任务...
使用Quartz进行作业调度,首先需要创建Job类,这个类实现了`org.quartz.Job`接口,并重写`execute(JobExecutionContext context)`方法,这个方法包含了任务的具体逻辑。然后,需要创建Trigger,设定触发条件。最后,...
Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的...
这个“作业调度Quartz.net源代码”文件很可能是包含了Quartz.NET的示例代码或者一个简单的项目,帮助用户理解和学习如何使用Quartz.NET进行作业调度。 Quartz.NET的核心概念包括作业(Job)、触发器(Trigger)和...
在"Quartz.net作业调度自定义定时执行任务多任务执行c#"这个主题中,我们将深入探讨如何使用Quartz.NET来实现自定义的定时任务,以及如何处理多任务执行。 首先,我们需要理解Quartz.NET的基本概念。在Quartz.NET中...
Quartz作业调度框架是Java领域中非常重要的一个开源作业调度库。作业调度是指在预定的时间安排特定的任务进行执行。在企业级应用中,作业调度扮演着核心的角色,它使得企业能够自动化地执行定时任务,比如数据备份、...
Quartz作业调度框架是Java开发中的一个强大工具,用于实现定时任务和工作流管理。它以其灵活性、可扩展性和稳定性而被广泛应用。本学习笔记主要围绕Quartz的使用,特别是如何利用corn表达式来设置定时任务。 Quartz...
这个"quartz作业调度测试"项目可能是为了演示或测试Quartz如何在实际应用中配置和使用。 首先,Quartz的核心概念包括Job(作业)、Trigger(触发器)和Scheduler(调度器)。Job是需要执行的任务,Trigger定义了...
Quartz作业调度器是Java平台上的一个开源任务调度框架,广泛应用于企业级应用中,用于自动化执行周期性任务。Spring框架提供了对Quartz的集成,使得在Spring应用中使用Quartz变得更加便捷。这个压缩包文件可能包含了...
Quartz 是一个强大的开源作业调度框架,主要用于自动化执行任务,如定时发送邮件、执行数据清理、执行批处理等。该框架完全用 Java 编写,兼容 J2SE 和 J2EE 环境,提供了丰富的功能和灵活性,使得开发者能够方便地...
Quartz是一个广泛应用于企业级应用中的开源作业调度框架,它为开发者提供了强大的任务调度功能,使得应用程序能够在预定的时间执行特定的任务。Quartz的核心设计目标是简单易用且可高度扩展,能够满足从小型项目到...
Quartz作业调度是一个开源的...在"quartz作业调度Demo"中,你可以学习如何创建和运行一个基本的Quartz任务,以及如何通过CronTrigger进行定时调度。通过实践,你将更好地理解Quartz的运作机制和其在实际项目中的应用。
Quartz是一款广泛应用于Java环境中的开源作业调度库,它的主要功能是允许开发者安排任务在特定的时间执行,从而实现系统的自动化工作流程。版本2.3.2是对Quartz库的一个稳定更新,提供了诸多改进和修复,使得它在...
本示例"quartz作业调度demo"是针对初学者设计的,旨在帮助他们快速理解并上手Quartz的基本用法。 Quartz的核心概念包括Job(作业)、Trigger(触发器)和Scheduler(调度器)。以下是对这些关键概念的详细解释: 1...
Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。在Java开发环境中,Quartz被广泛用于实现应用程序的自动化任务调度。这个压缩包“quartz动态定时调度完整代码”提供了使用Quartz进行动态...