1. javabean类
在Test.QuartzJob中
package Test;
public class QuartzJob {
public void work()
{
System.out.println("Quartz的任务调度!!!");
}
}
2. 设置Spring的xml
我新建了一个applicationContext_quartz.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">
<!-- 要调用的工作类 -->
<bean id="quartzJob" class="Test.QuartzJob"></bean>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="quartzJob"/>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobtask"/>
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<!-- 每隔10秒执行一次-->
<value>0/10 * * * * ?</value>
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime"/>
</list>
</property>
</bean>
</beans>
3. 设置web.xml对Spring加载
<!-- 加载spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext*.xml
</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>
org.springframework.web.context.ContextLoaderServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
注意:1.导入quartz-all-1.5.2.jar 下载http://download.csdn.net/source/1026766
2.导入spring.jar(我用的是spring2.0以前的版本) 下载http://download.csdn.net/source/1041819
如果不导入的话
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
org.springframework.scheduling.quartz.CronTriggerBean
org.springframework.scheduling.quartz.SchedulerFactoryBean
spring中的这三个类找不到,spring不能正常加载,由于第一次使用Quartz,我就是当时忽略了这一点,浪费了很多时间来调配置,其实配置一点没有错误。
3. 你会问为什么用spring后就不用
quartz.properties
quartz-jobsxml
这两个文件了么?
我回答:是的,它会自动找到quartz包中默认的这两个文件,如果你有特殊需要,也可以自己定义这两个文件。
附:quartz.properties
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
#
# Configure ThreadPool
#
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 4
#
# Configure JobStore
#
#org.quartz.jobStore.misfireThreshold = 5000
#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
#org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
#org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
#org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName =quartz_jobs.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
系统会根据配置文件找到quartz_jobs.xml
分享到:
相关推荐
Spring Quartz是一个强大的任务调度框架,它允许开发人员在Java应用程序中安排复杂的任务执行。Quartz是开源的,可扩展的,且与Spring框架完美集成,为应用提供了灵活且可靠的定时任务管理能力。在这个"spring-...
1. **配置Scheduler**:在Spring配置文件中,你需要声明一个SchedulerFactoryBean,它会负责初始化和管理Quartz的Scheduler实例。 2. **定义Job**:创建一个实现Job接口的类,并在execute()方法中编写实际的工作逻辑...
Spring整合Quartz是一款常见的任务调度解决方案,它允许开发者在应用程序中安排定时任务的执行。Quartz是一个开源的作业调度框架,而Spring通过提供一个简洁的API使得与Quartz的集成变得简单。以下是对Spring整合...
Quartz是一个完全由Java编写的开源作业调度框架,它可以用来安排和执行应用程序中的周期性任务。它提供了丰富的API,支持简单的单次执行任务,也支持复杂的作业和触发器组合。Quartz还具备可扩展性和高可用性,可以...
Quartz.Net可以实现诸如定时发送邮件、定时处理数据、定时轮询数据库等计划任务,只需要几句代码,不需要Windows计划任务也能实现诸如“每天晚上7:00发送邮件”、“每隔半个小时查询一次库存”之类的目的
总之,Quartz Web 应用实例是一个很好的起点,它展示了如何在Web环境中利用 Quartz 进行任务调度。通过学习和实践这个实例,开发者不仅可以掌握 Quartz 的基本使用,还能了解到如何在实际项目中优雅地管理后台任务。...
在"WindowsFormsApplication"这个项目中,可能是一个桌面应用的示例,展示了如何在Windows Forms环境中集成Quartz.NET,创建图形界面以交互式地管理任务和调整执行周期。用户可以通过界面操作,如添加、修改和删除...
这篇博客文章“Quartz的应用实例”可能详细介绍了如何在Spring框架中集成Quartz,以及如何利用Quartz进行任务调度。 Quartz的核心概念包括: 1. **Job**:表示一个可执行的任务,它定义了实际要执行的工作。你可以...
本篇将基于"quartz集群完整应用实例"来深入探讨Quartz的集群配置与实现。 Quartz的核心概念包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是执行的具体任务,Trigger定义了任务何时运行,而...
1. **作业(Job)**:在Quartz中,作业是一个实现了`org.quartz.Job`接口的类。这个接口只有一个方法`execute(JobExecutionContext context)`,在这个方法中,你可以编写执行的业务逻辑。 2. **触发器(Trigger)**...
Quartz是一款开源的作业调度框架,它为Java应用程序提供了强大的定时任务管理能力。在这个"quartz定时调度完整实例"中,我们将深入理解Quartz的工作原理和如何在项目中实际应用。 1. **Quartz简介** - Quartz是...
Quartz是一个开源的作业调度库,它允许开发者安排任务以在特定时间执行,而Spring框架则是一个广泛使用的应用开发框架,尤其在企业级Java应用程序中。 在Spring中集成Quartz,主要涉及到以下几个关键知识点: 1. *...
Quartz是一个功能齐全、开源的任务调度服务框架,它可以被集成到几乎所有类型的Java应用程序中,无论是小型的独立应用还是大型的企业级系统,甚至是复杂的电子商务平台。Quartz框架支持创建简单或复杂的调度计划,...
Spring Quartz 是一个强大的任务调度框架,它允许开发者在Spring应用中轻松地定义和执行定时任务。Quartz 是一个开源的作业调度库,可以用来创建、调度和执行作业,而Spring框架则提供了与Quartz集成的模块,使得在...
Quartz是一个开源的作业调度框架,它为Java应用程序提供了强大且灵活的任务调度功能。在"quartz1.6.6 实例"中,我们将会探讨如何利用Quartz 1.6.6版本来创建和执行定时任务。这个实例是特别为初学者设计的,它没有...
Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。在Java应用程序中,Quartz常被用来实现复杂的时间驱动功能,比如自动发送邮件、数据备份或者执行某些周期性的业务逻辑。它的灵活性和强大性...
Quartz 是一个开源的作业调度框架,用于开发 Java 应用程序。它可以被应用在任何 Java 应用中作为一个独立的类库或作为一个为 Web 应用提供服务的后端任务执行者。Quartz 允许开发人员定义触发器(Trigger),这些...
Quartz是一款广泛应用于Java环境中的开源任务调度框架,它允许开发者定义、安排和执行周期性的任务。本实例将深入解析如何在项目中有效地利用Quartz进行任务管理。 首先,了解Quartz的核心概念至关重要。Quartz提供...
Quartz是一款开源的作业调度框架,它允许开发者在应用程序中安排任务执行,比如定时执行某个方法或服务。在“quartz实例sqlserver数据库连接”这个主题中,我们主要讨论如何配置Quartz与SQL Server数据库进行交互,...
总结来说,Quartz 2.1.5实例提供了一个全面的视角,展示如何利用Quartz进行任务调度,包括基础API的使用、配置文件的设定、与Spring的整合以及任务的持久化。理解并掌握这些知识点,对于任何需要执行定时任务的Java...