从Spring 3迁移到Spring 4-org.springframework.scheduling.quartz.CronTriggerBean


问题内容

我正在尝试从Spring 3.0.5迁移到Spring4.1.X。

Spring 3的类名为“ org.springframework.scheduling.quartz.CronTriggerBean”

但是Spring 4不包含此类名称。

[5/28/15 20:10:16:798 EDT] 00000092 ClassPathXmlA W
org.springframework.context.support.AbstractApplicationContext
__refresh上下文初始化期间遇到异常-
取消刷新尝试org.springframework.beans.factory.CannotLoadBeanClassException:找不到类在类路径资源[config
/ spring /
WxsCacheContext.xml]中定义的名称为’beanIdName’的bean的[org.springframework.scheduling.quartz.CronTriggerBean];嵌套的异常是java.lang.ClassNotFoundException:org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1328)上的org.springframework.scheduling.quartz.CronTriggerBean

我尝试过类似的替代品,例如“ spring-support”。但是没有运气。

拿到那个jar后,它给了石英错误

[5/28/15 15:37:02:665 EDT] 0000006e SystemOut
O错误(?:?)-java.lang.Exception:SpringUtils.getSpringBean(hostnameVerifierSetter)中的Bean错误消息:无法初始化组定义。组资源名称[classpath
*:beanRefFactory.xml],工厂键[beanContext];嵌套的异常是org.springframework.beans.factory.BeanCreationException:创建URL
[file:/ C:/ Program%20Files%20(x86)/ IBM / WebSphere / AppServer / profiles
/ AppSrv01 / [InstalledApps / cellName / Project.ear / configurations /
beanRefFactory.xml]:通过构造函数实例化Bean失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.context.support.ClassPathXmlApplicationContext]:构造方法抛出了异常;


问题答案:

从Spring 3.1+开始,如下所示更改CronTriggerFactoryBean和JobDetailFactoryBean的类名称。

   org.springframework.scheduling.quartz.CronTriggerBean 
                               org.springframework.scheduling.quartz.CronTriggerFactoryBean
   org.springframework.scheduling.quartz.JobDetailBean
                               org.springframework.scheduling.quartz.JobDetailFactoryBean

因此,您的步骤是:

更改

CronTriggerBean到CronTriggerFactoryBean
JobDetailBean到JobDetailFactoryBean