`
BabyDuncan
  • 浏览: 584291 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Quartz的用法实例一

阅读更多
      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简单实例

    Spring Quartz是一个强大的任务调度框架,它允许开发人员在Java应用程序中安排复杂的任务执行。Quartz是开源的,可扩展的,且与Spring框架完美集成,为应用提供了灵活且可靠的定时任务管理能力。在这个"spring-...

    quartz实例,quartz入门例子

    1. **配置Scheduler**:在Spring配置文件中,你需要声明一个SchedulerFactoryBean,它会负责初始化和管理Quartz的Scheduler实例。 2. **定义Job**:创建一个实现Job接口的类,并在execute()方法中编写实际的工作逻辑...

    spring的quartz使用实例

    Spring整合Quartz是一款常见的任务调度解决方案,它允许开发者在应用程序中安排定时任务的执行。Quartz是一个开源的作业调度框架,而Spring通过提供一个简洁的API使得与Quartz的集成变得简单。以下是对Spring整合...

    基于java的Quartz的实例

    Quartz是一个完全由Java编写的开源作业调度框架,它可以用来安排和执行应用程序中的周期性任务。它提供了丰富的API,支持简单的单次执行任务,也支持复杂的作业和触发器组合。Quartz还具备可扩展性和高可用性,可以...

    Quartz.Net用法实例

    Quartz.Net可以实现诸如定时发送邮件、定时处理数据、定时轮询数据库等计划任务,只需要几句代码,不需要Windows计划任务也能实现诸如“每天晚上7:00发送邮件”、“每隔半个小时查询一次库存”之类的目的

    quartz Web应用实例

    总之,Quartz Web 应用实例是一个很好的起点,它展示了如何在Web环境中利用 Quartz 进行任务调度。通过学习和实践这个实例,开发者不仅可以掌握 Quartz 的基本使用,还能了解到如何在实际项目中优雅地管理后台任务。...

    Quartz.NET实例

    在"WindowsFormsApplication"这个项目中,可能是一个桌面应用的示例,展示了如何在Windows Forms环境中集成Quartz.NET,创建图形界面以交互式地管理任务和调整执行周期。用户可以通过界面操作,如添加、修改和删除...

    Quartz的应用实例

    这篇博客文章“Quartz的应用实例”可能详细介绍了如何在Spring框架中集成Quartz,以及如何利用Quartz进行任务调度。 Quartz的核心概念包括: 1. **Job**:表示一个可执行的任务,它定义了实际要执行的工作。你可以...

    quartz集群完整应用实例

    本篇将基于"quartz集群完整应用实例"来深入探讨Quartz的集群配置与实现。 Quartz的核心概念包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是执行的具体任务,Trigger定义了任务何时运行,而...

    quartz实例

    1. **作业(Job)**:在Quartz中,作业是一个实现了`org.quartz.Job`接口的类。这个接口只有一个方法`execute(JobExecutionContext context)`,在这个方法中,你可以编写执行的业务逻辑。 2. **触发器(Trigger)**...

    quartz定时调度完整实例

    Quartz是一款开源的作业调度框架,它为Java应用程序提供了强大的定时任务管理能力。在这个"quartz定时调度完整实例"中,我们将深入理解Quartz的工作原理和如何在项目中实际应用。 1. **Quartz简介** - Quartz是...

    Spring + Quartz配置实例(转载)

    Quartz是一个开源的作业调度库,它允许开发者安排任务以在特定时间执行,而Spring框架则是一个广泛使用的应用开发框架,尤其在企业级Java应用程序中。 在Spring中集成Quartz,主要涉及到以下几个关键知识点: 1. *...

    Java任务调度框架Quartz教程实例

    Quartz是一个功能齐全、开源的任务调度服务框架,它可以被集成到几乎所有类型的Java应用程序中,无论是小型的独立应用还是大型的企业级系统,甚至是复杂的电子商务平台。Quartz框架支持创建简单或复杂的调度计划,...

    Spring quartz 定时 实例

    Spring Quartz 是一个强大的任务调度框架,它允许开发者在Spring应用中轻松地定义和执行定时任务。Quartz 是一个开源的作业调度库,可以用来创建、调度和执行作业,而Spring框架则提供了与Quartz集成的模块,使得在...

    quartz1.6.6 实例

    Quartz是一个开源的作业调度框架,它为Java应用程序提供了强大且灵活的任务调度功能。在"quartz1.6.6 实例"中,我们将会探讨如何利用Quartz 1.6.6版本来创建和执行定时任务。这个实例是特别为初学者设计的,它没有...

    Quartz实例

    Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行定时任务。在Java应用程序中,Quartz常被用来实现复杂的时间驱动功能,比如自动发送邮件、数据备份或者执行某些周期性的业务逻辑。它的灵活性和强大性...

    quartz简单实例quartz简单实例

    Quartz 是一个开源的作业调度框架,用于开发 Java 应用程序。它可以被应用在任何 Java 应用中作为一个独立的类库或作为一个为 Web 应用提供服务的后端任务执行者。Quartz 允许开发人员定义触发器(Trigger),这些...

    quartz实例用法

    Quartz是一款广泛应用于Java环境中的开源任务调度框架,它允许开发者定义、安排和执行周期性的任务。本实例将深入解析如何在项目中有效地利用Quartz进行任务管理。 首先,了解Quartz的核心概念至关重要。Quartz提供...

    quartz实例sqlserver数据库连接

    Quartz是一款开源的作业调度框架,它允许开发者在应用程序中安排任务执行,比如定时执行某个方法或服务。在“quartz实例sqlserver数据库连接”这个主题中,我们主要讨论如何配置Quartz与SQL Server数据库进行交互,...

    quartz2.1.5 实例

    总结来说,Quartz 2.1.5实例提供了一个全面的视角,展示如何利用Quartz进行任务调度,包括基础API的使用、配置文件的设定、与Spring的整合以及任务的持久化。理解并掌握这些知识点,对于任何需要执行定时任务的Java...

Global site tag (gtag.js) - Google Analytics