`
hzywy
  • 浏览: 169049 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Quartz入门示例

阅读更多

    文章出处 http://www.cnblogs.com/phinecos/archive/2008/09/03/1283376.html

Spring scheduling.quartz 包中对 Quartz 框架进行了封装,使得开发时不用写任何 QuartSpring 的代码就可以实现 定时任务。 Spring 通过 JobDetailBean MethodInvokingJobDetailFactoryBean 实现 Job 的定义。后者更加实用,只需指定要运行的类,和该类中要运行的方法即可, Spring 将自动生成符合 Quartz 要求的 JobDetail

1, 创建一个 Web 项目, 加入 spring.jar quartz-1.6.0.jar commons-collections.jar jta.jar  commons-logging.jar 这几个包 .

     2, 创建一个类,在类中添加一个方法 execute, 我们将对这个方法进行定时调度.

package com.vista.quartz;

import java.util.Date;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class HelloWorld {
     private static Log logger = LogFactory.getLog(HelloWorld.class);//日志记录器
        public HelloWorld()
        {
        }
        public void execute()
        {
            logger.info("Kick your ass and Fuck your mother! - " + new Date()+"正在运行中");
        }
}
3.
Spring 配置文件 applicationContext.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:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"
           default-autowire="byName">

    <!-- 要调用的工作类 -->
    <bean id="quartzJob" class="com.vista.quartz.HelloWorld"></bean>
    <!-- 定义调用对象和调用对象的方法 -->
    <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject">
            <ref bean="quartzJob"/>
        </property>
        <!-- 调用类中的方法 -->
        <property name="targetMethod">
             <value>execute</value>
        </property>
    </bean>
    <!-- 定义触发时间 -->
    <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="jobtask"/>
        </property>
        <!-- cron表达式   每隔5秒运行一次-->
        <property name="cronExpression">
            <value>10,15,20,25,30,35,40,45,50,55 * * * * ?</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>

4.
, 先在控制台中对上面的代码进行测试,我们要做的只是加载 Spring 的配置文件就可以了,代码如下 :

package com.vista.quartz;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
         System.out.println("Test start.");
         //applicationContext.xml放到classpath路径下 在没有eclipse中就是放在src目录下
         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
         //如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化
         //context.getBean("startQuertz");
      System.out.print("Test end..");

    }

}
5.然后将
Web.xml 修改如下,让 tomcat 在启动时去初始化 Spring

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/spring/applicationContext.xml//配置文件的存放目录
        </param-value>
    </context-param>
   
    <servlet>
        <servlet-name>SpringContextServlet</servlet-name>
        <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


分享到:
评论

相关推荐

    quartz实例,quartz入门例子

    在这个Quartz入门例子中,可能包含了一个名为`QuarzTest`的类或配置文件,它是实际运行的入口。通过分析和运行这个例子,你可以了解到如何在Spring中配置和使用Quartz,以及如何创建和调度Job。 学习Quartz时,你...

    iPhone基础开发-Quartz2D入门示例

    依据《iPhone3开发基础教程》第12章,编写Quartz 2D的入门示例程序。通过该程序,可以了解如何用Quartz绘制图形;如何处理iPhone轻击、触摸等动作 注:iPhoneOS的版本为4.1

    Quartz入门学习(真丶入门)

    二、Quartz入门 1. **创建作业**:首先,你需要创建一个实现了`org.quartz.Job`接口的类,这个类就是你的任务逻辑。在`execute()`方法中编写实际的业务代码。 2. **定义触发器**:接着,定义一个触发器,设置执行...

    Quartz框架快速入门

    ### Quartz框架快速入门详解 #### 一、Quartz框架简介 Quartz是一个开源的作业调度框架,用于开发Java应用程序。它提供了强大的触发器(Trigger)机制用于关联作业(Job),同时还具备灵活的表达式用于配置定时...

    Quartz2之入门示例

    NULL 博文链接:https://liuzidong.iteye.com/blog/1118992

    quartz入门共3页.pdf.zip

    通过阅读 "quartz入门共3页.pdf",你将能够快速了解 Quartz 的基本概念和用法,为实际项目开发打下基础。文件可能涵盖了 Quartz 的安装、基本示例、API 使用方法等内容,帮助你快速上手并掌握这个强大的任务调度库。

    Quartz入门案例

    在"Quartz入门案例"中,我们通常会首先创建一个Job类,该类实现了`org.quartz.Job`接口。这个接口只有一个方法`execute(JobExecutionContext context)`,我们在其中编写实际的任务逻辑。例如: ```java public ...

    Quartz框架快速入门.pdf

    下面是一个简单的Quartz Job示例,该Job的任务是扫描指定目录中的文件并显示文件详情: ```java package com.vista.quartz; import java.io.File; import java.io.FileFilter; import java.util.Date; import org....

    quartz入门demo

    【标题】"Quartz入门Demo"是一个非常适合初学者的实践项目,它旨在引导开发者了解和掌握Quartz这个强大的任务调度框架。Quartz是Java平台上广泛使用的开源任务调度库,能够帮助开发者实现应用程序中的定时任务执行。...

    Quartz_框架快速入门

    本文将引导您快速入门 Quartz 框架,了解其基本使用方法。 首先,要开始使用 Quartz,您需要从官方网站下载对应的 JAR 包,通常为 quartz-&lt;version&gt;.jar。除此之外,根据您的需求,Quartz 可能还需要一些第三方库,...

    Quartz 框架快速入门

    本篇文章将带你快速入门Quartz框架,了解如何在Spring中集成Quartz以及创建和执行Job。 首先,要使用Quartz框架,你需要在项目中引入必要的库文件。主要依赖的JAR是quartz-&lt;version&gt;.jar,此外,由于Quartz可能需要...

    Quartz业务调度入门实例15个_注释带中文翻译

    这个项目包含15个入门实例,旨在帮助开发者快速理解并掌握Quartz在实际业务中的应用。Quartz 2.1.7是这些示例所使用的版本,它是一个稳定且功能丰富的版本。 一、Quartz基本概念 1. 作业(Jobs):Quartz中的核心元素...

    quartz-2.1.6.zip

    QUICK-START.html 是Quartz的快速入门指南,它通常会提供关于如何安装、配置和启动Quartz的基本步骤,以及如何创建和执行第一个作业的示例。通过阅读这份文档,开发者能够迅速理解Quartz的工作原理,并开始自己的...

    iPhone基础开发-Quartz2D入门源码

    依据《iPhone3开发基础教程》第12章,编写Quartz 2D的入门示例程序。通过该程序,可以了解如何用Quartz绘制直线,随机变换直线的颜色;如何处理iPhone轻击、触摸等动作注:iPhoneOS的版本为4. 注:进一步的源码(绘制...

    Srping Quartz 资料多多

    "Quartz入门与提高1.ppt"可能是一个幻灯片教程,涵盖了从基础到进阶的Quartz使用。"定时任务Test.rar"可能包含了一些测试用例或示例代码,有助于理解实际应用场景。"网站地址.txt"可能提供了更多资源链接,而"quartz...

    quartz和spring-quartz

    在提供的文件中,“quartz的入门.doc”可能是Quartz的基础教程,介绍如何创建和调度Job;“spring的quartz应用.txt”可能包含Spring-Quartz的具体使用示例和注意事项;“spring-quartz-demo”可能是一个完整的示例...

Global site tag (gtag.js) - Google Analytics