2008-10-06 146 views
0

有沒有推薦的方法來升級JBoss 4.2.x中的Quartz?在JBoss 4.2.x上升級到Quartz 1.6

JBoss捆綁石英1.5.2,但我遇到了我想避免的問題(QUARTZ-399,QUARTZ-520)。

我不想在JBoss中修補quartz.jar來解決錯誤,而是提供一個新的quartz.jar(加上相關的配置工件)。 Quartz 1.6 migration notes只包含特定於Quartz的信息,在搜索過程中我找不到任何其他信息。

由於舊版本是在服務器級別(在服務器的lib目錄中)加載的,因此將新的quartz.jar放入EAR文件並不奏效。

我很肯定有人已經試過了,希望這個人可以分享或提供一些鏈接。

回答

1

在嘗試了下面的skaffman的評論之後,我發現了一個非常簡單的解決方案,它不涉及改變JBoss的類加載行爲。只需用quartz1.6替換${jboss.server.dir}/lib中的quartz.jar即可完成工作,而且我還沒有遇到任何問題。

重啓顯示以下的輸出:

 
[QuartzScheduler] Quartz Scheduler v.1.6.0 created. 
[RAMJobStore] RAMJobStore initialized. 
[StdSchedulerFactory] Quartz scheduler 'QuartzScheduler' initialized from an externally provided properties instance. 
[StdSchedulerFactory] Quartz scheduler version: 1.6.0 
1

您可以在您的WAR或EAR中包含Quartz 1.6,而您的應用程序將使用它。但是,只有WAR或EAR中的應用程序組件纔會使用新的JAR,這可能是問題或優點,具體取決於您設置部署的方式。

+0

謝謝你的快速答覆。剛剛嘗試過,並將quartz-1.6.jar放入ear/lib目錄。當我嘗試設置觸發器的優先級(1.6的功能)時,我得到一個NoSuchMethodError。 Quartz調度程序使用Spring的SchedulerFactoryBean實例化,這可能是它不起作用的原因。 – Kariem 2008-10-06 16:48:41