`

quartz结合spring例子

阅读更多
准备工作 下载quartz和spring相应的包
 
1.编写测试类
public class SimpleService implements Serializable {        
         private static final long serialVersionUID = 122323233244334343L;
        private static final Log logger = LogFactory.getLog(SimpleService.class);
        public void testMethod1(){
                //这里执行定时调度业务 便于显示明细添加些特殊符号
                logger.info("testMethod1...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....1");
        }
        public void testMethod2(){
                logger.info("testMethod2....###################################################!!!!!!!!!!!!!!!!!!!!...2");
        }
}        
2. 开始配置spring。
(1)配置spring的数据源

        <bean id="dataSource"
                class="org.apache.commons.dbcp.BasicDataSource">
                <property name="driverClassName">
                        <value>com.mysql.jdbc.Driver</value>
                </property>
                <property name="url">
                        <value>jdbc:mysql://127.0.0.1:3306/going</value>
                </property>
                <property name="username">
                        <value>root</value>
                </property>
                <property name="password">
                        <value>root</value>
                </property>
                <property name="maxActive">
                        <value>100</value>
                </property>
                <property name="maxIdle">
                        <value>2</value>
                </property>
                <property name="maxWait">
                        <value>1200</value>
                </property>
        </bean>
<!-- 下面是tomcat的 数据源 jndi的配置-->
     
            <!--
         <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" abstract="false">
                <property name="jndiName">
         <value>java:comp/env/jdbc/mysqlds</value>
</property>
        </bean>
(2)配置spring和job的结合

  
    <bean id="simpleService" class="com.going.oa.quartz.example5.SimpleService">    
</bean>
        
        <bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
                <property name="dataSource">
                        <ref bean="dataSource"/>
                </property>
                <property name="applicationContextSchedulerContextKey" value="applicationContextKey"/>
                <property name="configLocation" value="classpath:quartz_priority.properties"/>
                <property name="triggers">
                <list>
                <ref bean="trigger1"/>
                <ref bean="trigger2"/>
                </list>
                </property>
        </bean>
        <bean id="jobDetail1"    class="frameworkx.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">    
                <property name="targetObject" ref="simpleService"/>
                <property name="targetMethod" value="testMethod1"/>
                <property name="concurrent" value="false" />
        </bean>
        
                <bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
                <property name="jobDetail" ref="jobDetail1"/>
                <property name="cronExpression" value="0/5 * * ? * * *"/>
        </bean>
        <bean id="jobDetail2"    class="frameworkx.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">    
                <property name="targetObject" ref="simpleService"/>
                <property name="targetMethod" value="testMethod2"/>
                <property name="concurrent" value="false" />
        </bean>
        
        <bean id="trigger2" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
                <property name="jobDetail" ref="jobDetail2"/>
                <property name="startDelay" value="1"/>
                <property name="repeatCount" value="100"/>
                <property name="repeatInterval" value="1000"/>
        </bean>
</beans>
注意上面frameworkx.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean类在spring的jar包中不提供,spring提供的MethodInvokingJobDetailFactoryBean有个bug所以需要到网上去下载这俩个文件http://jira.springframework.org/browse/SPR-3797
 
3编写测试类

package com.going.oa.quartz.example5;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Created by IntelliJ IDEA.
* User: weiyong
* Date: 2010-3-23
* Time: 13:57:51
* To change this template use File | Settings | File Templates.
*/

public class MainTest {    
            /**
             * @param args
             */

            public static void main(String[] args) {
                    ApplicationContext springContext = new ClassPathXmlApplicationContext(new String[]{"classpath:applicationContext-resources.xml","classpath:applicationContext-quartz.xml"});
            }
    }

运行Ok
分享到:
评论

相关推荐

    Quartz+Spring定时触发器例子

    Quartz和Spring结合使用可以构建强大的定时任务管理系统。Quartz是一个开源的作业调度框架,它允许应用程序定义和调度任务在特定时间执行。而Spring框架则提供了丰富的依赖注入和管理功能,使得集成Quartz变得更加...

    spring+quartz定时小例子

    在 "spring+quartz定时小例子" 中,我们主要关注的是如何将这两个框架结合使用,创建一个可以执行定时任务的应用。这个例子包含了相关的框架包和文档,帮助开发者理解并实践这一整合过程。 1. **Spring 配置**: ...

    spring和quartz的定时器的启动和停止例子

    要使用Quartz与Spring结合,我们需要进行以下步骤: 1. **引入依赖**:在项目中添加Quartz和Spring的相关依赖。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;org.springframework ...

    quartz2.2.1 spring3.1.1

    总的来说,Quartz 2.2.1 和 Spring 3.1.1 的结合,为企业级Java应用提供了强大的定时任务管理和应用程序框架支持。通过源码分析,开发者可以更好地理解这两个框架的内部机制,从而更有效地利用它们的功能来满足特定...

    spring quartz 时间调用框架

    Spring Quartz结合了Spring的灵活性和Quartz的强大定时功能,为开发者提供了一个高效的定时任务管理平台。通过合理配置Job、Trigger和Scheduler,开发者可以轻松地实现复杂的时间调度需求,同时得益于Spring的IoC,...

    Quartz与Spring2.0整合Eclipse例程

    将Quartz与Spring结合使用,可以方便地在Spring管理的bean中定义和调度任务,实现灵活且可扩展的定时任务解决方案。 在"Quartz与Spring2.0整合Eclipse例程"中,我们将探讨如何在Eclipse开发环境中配置和运行一个...

    Spring+Quartz实现任务调度的小例子

    本篇文章将深入探讨如何使用Spring与Quartz结合来创建一个任务调度的小例子。 首先,Spring是一个开源的Java企业级应用开发框架,它提供了丰富的功能,包括依赖注入、数据访问、事务管理等。而Quartz则是一个强大的...

    quartz入门例子,spring集成配置使用

    Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考...springCon.quartz文件夹下 为对上诉博客理解透彻 结合spring看其配置的相关信息 就可以明白。

    spring注解Quartz定时执行功能

    Spring通过其优秀的依赖注入(DI)和AOP(面向切面编程)特性,与Quartz相结合,简化了定时任务的配置和管理。下面我们将深入探讨如何利用Spring注解实现Quartz定时执行功能。 首先,我们需要引入Quartz和Spring的...

    spring quartz定时任务demo

    通过这个例子,你可以快速学习到如何定义Job,如何配置Trigger,以及如何将它们与Spring的IoC容器结合,实现自动化任务调度。这是一个非常实用的起点,对于任何需要定期执行任务的Java项目来说,都是一个宝贵的参考...

    一个简单的quartz、spring集成版helloWorld示例演示

    在这个"一个简单的quartz、spring集成版helloWorld示例演示"中,我们将探讨如何将这两个框架结合使用,实现一个基础的定时任务。 首先,Quartz的集成通常涉及到Spring的`SchedulerFactoryBean`,这个bean负责管理和...

    quartz15个例子

    Quartz 是一个开源的作业调度框架,用于在 Java 应用程序中实现任务自动化和定时执行。...记得在实践过程中理解每个例子的意图,同时结合官方文档和源码进行深入研究,以充分掌握 Quartz 的强大功能。

    Spring2.5+Quartz定时任务简单例子web工程

    在"Spring2.5+Quartz定时任务简单例子web工程"中,我们可以看到这两个框架的结合使用,主要目标是实现基于 Web 应用的定时任务管理。以下将详细介绍这个项目中可能涉及的知识点: 1. **Spring 2.5**: - **依赖...

    spring quartz例子

    Spring Quartz是一个广泛使用的Java调度框架,它允许开发者在Spring应用中定义定时任务。...通过深入理解并实践这个例子,你可以更好地掌握Spring和Quartz的结合使用,为你的应用添加灵活的定时任务管理功能。

    一个最简单的定时任务Quartz的例子

    Quartz是一个开源的作业调度框架,它允许程序在指定的时间执行特定的任务,是Java平台上的一个强大、可扩展...在实际开发中,结合Spring框架使用Quartz会更加方便,Spring提供了对Quartz的全面集成,简化了配置和管理。

    QuartzSpring

    Quartz 是一个强大的开源任务调度库,常用于Java应用程序中实现定时任务的管理。Spring框架对Quartz进行了集成,使得在...在大型项目中,结合Spring和Quartz可以实现复杂的时间驱动业务逻辑,提高系统的自动化程度。

    SpringMVC利用Quartz实现可配置的定时器

    结合SpringMVC,我们可以轻松地在Spring应用中配置和管理定时任务。 Quartz的核心概念包括Job(工作)、Trigger(触发器)和Scheduler(调度器)。Job是实际需要执行的任务,Trigger定义了任务何时启动,Scheduler...

    spring添加触发器+quartz

    以下是对如何在 Spring 中添加触发器并结合 Quartz 实现定时功能的详细解释: 1. **Quartz 概述** - Quartz 是 Java 平台上用于创建、调度和执行计划任务的开源库。它提供了丰富的 API 和调度功能,支持简单任务到...

    spring集成quartz

    将两者结合,我们可以方便地在Spring应用中管理并执行定时任务。 在集成Quartz到Spring应用中,我们需要完成以下几个关键步骤: 1. **引入依赖**:首先,确保在项目中添加了Quartz和Spring的相关库。通常,这可以...

    Spring quartz 定时 实例

    总的来说,Spring Quartz 提供了一种灵活的方式来在Spring应用中调度和执行定时任务,结合了Quartz的强大功能和Spring的IoC特性,使得任务的定义和管理更加简便。在这个实例中,我们看到了如何定义一个简单的任务,...

Global site tag (gtag.js) - Google Analytics