Spring+Quartz的版本報錯問題

使用Spring配置管理Quartz的時候會遇到下面的異常: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)之後,接口不兼容。


解決辦法有兩種:

1.降低Quartz版本,降到1.X去。

2.升級Spring版本到3.1+,根據Spring的建議,將原來的**TriggerBean替換成**TriggerFactoryBean,例如CronTriggerBean 就可以替換成 CronTriggerFactoryBean。替換之後問題解決。

3.如果不在xml配置文件中引用 Spring 3.0 是支持 Quartz2.2.1(目前最新版本),直接在程序中調用即可。(我們的文件中轉站系統用的是 Spring 3.0+quartz 2.2.1集羣模式)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章