spring集成quartz

注意:出现异常“Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class”

Spring3.0不支持Quartz2.0,由于org.quartz.CronTrigger在2.0从class变成了一个interface造成IncompatibleClassChangeError错误:

有两种办法:

第一种减少quartz的版本号为,最好是quartz1.8

另外一种是升级spring版本号为Spring3.2以上

注:Spring3.2.4配置文件里使用CronTriggerFactoryBean来集成quartz2.x,

   使用CronTriggerBean来集成quartz1.8.x及曾经版本号.

 

下面是一个小样例demo

<!-- 启动触发器的配置開始 -->  

    <bean name="startQuertz" lazy-init="false" autowire="no"  

        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">  

        <property name="triggers">  

            <list>  

                <ref bean="myJobTrigger" />  

            </list>  

        </property>  

    </bean>  

    <!-- 启动触发器的配置结束 -->  

  

    <!-- 调度的配置開始 -->  

    <!--  

        quartz-1.8曾经的配置   

    <bean id="myJobTrigger"  

        class="org.springframework.scheduling.quartz.CronTriggerBean">  

        <property name="jobDetail">  

            <ref bean="myJobDetail" />  

        </property>  

        <property name="cronExpression">  

            <value>0/1 * * * * ?</value>  

        </property>  

    </bean>  

    -->  

    <!-- quartz-2.x的配置 -->  

    <bean id="myJobTrigger"  

        class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  

        <property name="jobDetail">  

            <ref bean="myJobDetail" />  

        </property>  

        <property name="cronExpression">  

            <value>0/1 * * * * ?</value>  

        </property>  

    </bean>  

    <!-- 调度的配置结束 -->  

  

    <!-- job的配置開始 -->  

    <bean id="myJobDetail"  

        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  

        <property name="targetObject">  

            <ref bean="myJob" />  

        </property>  

        <property name="targetMethod">  

            <value>work</value>  

        </property>  

    </bean>  

    <!-- job的配置结束 -->  

  

    <!-- 工作的bean -->  

    <bean id="myJob" class="com.tgb.lk.demo.quartz.MyJob" />  

    





package com.demo.test;





import java.util.Date;





/*

 * 使用spring+Quartz运行任务调度的详细类

 * */

public class MyJob {





    /*

     * Description:详细工作的方法,此方法仅仅是向控制台输出当前时间,

     * 输入的日志在:%tomcatRoot%\logs\tomcat7-stdout.yyyy-MM-dd.log中,

     * 当中,yyyy-MM-dd为部署的日期,经试验发现默认情况下并非每天都生成一个stdout的日志文件

     * @return 返回void

     * */

    public void work()

    {

         System.out.println("当前时间:"+new Date().toString());  

    }

}//End of MyJob

spring集成quartz的更多相关文章

  1. Spring集成Quartz定时器

    <!-- Spring集成Quartz开始 --> <bean id="startQuertz" lazy-init="false" auto ...

  2. 关于Spring集成Quartz的concurrent属性

    关于Spring集成Quartz的concurrent属性 以前经常在任务调度程序中使用Spring集成的Quartz,这种方式可以用简单的声明式配置即可实现定时任务,并结合了Spring自身的Bea ...

  3. Spring集成Quartz完成定时任务

    在JavaEE系统中,我们经常会用到定时任务,比如每天晚上凌晨之后跑批处理或者是每天某个时刻群发消息等等. 我们可以使用java.util.Timer结合java.util.TimerTask来去完成 ...

  4. Spring 集成Quartz

    在使用jdk的timer时发现无法在指定的日期进行执行任务.这便引入一个优秀的开源任务调度框架“quartz”.这里使用的是quartz-1.8.6版本.Quart的官网:http://www.qua ...

  5. (十七)Spring 集成Quartz

    在使用jdk的timer时发现无法满足这次的开发需求:即无法在指定的日期进行执行任务.这便引入一个优秀的开源任务调度框架“quartz”.这里加入的是quartz-1.8.6版本.Quart的官网:h ...

  6. Quartz学习总结(1)——Spring集成Quartz框架

    一.Quartz简介 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简 ...

  7. Spring集成Quartz的3种方式

    1.使用xml配置方式 Maven依赖 <properties> <!-- spring版本号 --> <spring.version>4.2.2.RELEASE& ...

  8. (2)Spring集成Quartz定时任务框架介绍和Cron表达式详解

    在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但 ...

  9. Spring集成Quartz定时任务框架介绍和Cron表达式详解

    原文地址:http://www.cnblogs.com/obullxl/archive/2011/07/10/spring-quartz-cron-integration.html 在JavaEE系统 ...

随机推荐

  1. poj3280(区间dp)

    题目连接:http://poj.org/problem?id=3280 题意:给定一个长度为m(m<=2000)的小写字母字符串,在给定组成该字符串的n(n<=26)个字符的添加和删除费用 ...

  2. poj 3265 Problem Solving dp

    这个题目容易让人误以为是贪心就可以解决了,但是细想一下很容易举出反例. dp[i][j]表示解决了i个问题,最后一个月解决的问题数目. #include <iostream> #inclu ...

  3. 获取不同机型外置SD卡路径

    /** * 运行挂载命令.返回挂载的地址.然后将地址解析 */ private void getExtSDCardPath() { try { Runtime runtime = Runtime.ge ...

  4. 《JavaScript设计模式与开发实践》读书笔记之享元模式

    1. 享元模式 享元模式是一种用于性能优化的模式,享元模式的核心是运用共享技术来有效支持大量细粒度的对象 1.1 传统的文件上传方法 以文件上传为例,文件上传功能可以选择依照队列,一个一个的排队上传, ...

  5. Eclipse怎么显示行号,定位某行

    Eclipse怎么显示行号,定位某行 设置显示行号 1 快捷键:Ctrl+F10,点击'Show Line Numbers'即可. 如果取消显示行号,也可以按这个快捷键,然后再点击show line ...

  6. 一个带动画的页面底部的TabBar的实现

    有时有这样一个需求,页面底部有几个图标能够点击,假设一个screenWidth显示不下这些图标,则这一列图标最后一个是more,点击more,能够通过动画展示两列图标 这样来增加layout中: &l ...

  7. 从零开始学Xamarin.Forms(三) Android 制作启动画面

    原文:从零开始学Xamarin.Forms(三) Android 制作启动画面     Xamarin.Forms 在启动的时候相当慢,必须添加一个启动界面,步骤如下: 1.将启动画面的图片命名为:s ...

  8. oracle 11g impdp时 报ORA-12899(转)

    源库ZHS16BGK,汉字在数据库存放的时候占用两个字节 目标库UTF8,汉字在数据库里存放的时候占用三个字节 由于字符集不同,导致现在数据库impdp的时候有些表的字段长度不够,出现ORA-1289 ...

  9. Spring官方网站的改版后下载

    Spring官方网站改版很长一段时间后还没有找到直接下载Jar链接包,下面总结了一些方法,可在网上,亲測可用. 1.直接输入地址,改对应版本号就可以:http://repo.springsource. ...

  10. 重新想象 Windows 8 Store Apps (13) - 控件之 SemanticZoom

    原文:重新想象 Windows 8 Store Apps (13) - 控件之 SemanticZoom [源码下载] 重新想象 Windows 8 Store Apps (13) - 控件之 Sem ...