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 集羣

相關文章
相關標籤/搜索