Spring+Quartz的版本问题

使用Spring配置管理Quartz的时候会遇到下面的异常:html


  1. Caused by: java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.CronTriggerBean has interface org.quartz.CronTrigger as super class  


缘由是Spring 3.0版本中内置的Quartz版本是<2.0的,在使用最新的Quartz包(>2.0)以后,接口不兼容。java


解决办法有两种:spring

1.下降Quartz版本,降到1.X去。服务器

2.升级Spring版本到3.1+,根据Spring的建议,将原来的**TriggerBean替换成**TriggerFactoryBean,例如CronTriggerBean 就能够替换成 CronTriggerFactoryBean。替换以后问题解决。测试

 

2014-04-22补充解决办法:spa

 

解决办法有三种:xml

 

1.下降Quartz版本,降到1.X去。htm

2.升级Spring版本到3.1+,根据Spring的建议,将原来的**TriggerBean替换成**TriggerFactoryBean,例如CronTriggerBean 就能够替换成 CronTriggerFactoryBean。替换以后问题解决。blog

3.若是不在xml配置文件中引用 Spring 3.0 是支持 Quartz2.2.1(目前最新版本),直接在程序中调用便可。(咱们的文件中转站系统用的是 Spring 3.0+quartz 2.2.1集群模式)接口

 

 

2012-04-27下面咱们来看一下服务器端运行测试程序:

测试环境 2个Tomcat+Terracotta 集群 + Weblogic 共用 Quartz 2.2.1 集群

相关文章
相关标签/搜索