`
BabyDuncan
  • 浏览: 574000 次
  • 性别: 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
分享到:
评论

相关推荐

    Quartz.Net用法实例

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

    基于java的Quartz的实例

    基于java的Quartz的实例,直接导入MyEclipse中就能用,可以把引入的java.SQL及用到的东西删除掉

    quartz实例用法

    quartz实例用法

    quartz Web应用实例

    quartz框架在web中的应用,代码简单完整,且可以正常运行,对初学者很有帮助。

    Quartz的应用实例

    NULL 博文链接:https://xusong.iteye.com/blog/1262366

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

    Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统。Quartz可以执行上千上万的任务调度

    Spring+Quartz集群部署案例

    大家可以思考一下、现在有 A、B、C三个应用同时作为集群服务器对外统一提供服务、每个应用下各有一个Quartz、它们会按照既定的时间自动执行各自的任务。我们先不说实现什么功能,就说这样的架构其实有点像多线程。...

    quartz线程工程实例

    quartz线程工程实例,工程应用实例,自己定义JOB类

    Quartz+spring实例应用

    Quartz+spring实例应用 导入项目直接可以运行,注释详细

    quartz 详细例子

    quartz 详细例子 quartz 详细例子 java 调度 工作流

    quartz使用例子

    quartz使用例子 每一步讲解的都非常的详细

    quartz应用

    quartz应用实例,讲述了quartz的几种用法,清晰,简介

    quartz集群完整应用实例

    NULL 博文链接:https://kenny-liu.iteye.com/blog/634853

    Quartz开源项目实例

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以...

    Spring Quartz 任务调度实例

    Spring Quartz 任务调度实例 可直接运行 可应用服务器启动调用 也可main入口调用 主要用于打jar包用

    quartz在spring中的使用实例

    Quartz 是一个强大的企业级 Schedule 工具,也是目前最好的开源 Schedule 工具。实例中quartz在spring中的应用及quartz详细时间配置。

    Quartz.NET demo

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的...

    quartz-1.4.5.zip

    Quartz能在应用服务器或者Servlet容器中实例化,并且能够参与XA事务。 Quartz能够以独立的方式运行(在它自己的Java虚拟机中),可以通过RMI使用Quartz。 Quartz可以被实例化为独立程序的集群(有负载均衡和容错...

Global site tag (gtag.js) - Google Analytics