2008-10-06 139 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