java - scheduled - Migración de Spring 3 a Spring 4-org.springframework.scheduling.quartz.CronTriggerBean
spring boot scheduled task example (2)
Estoy tratando de migrar desde la primavera 3.0.5 a la primavera 4.1.X.
Spring 3 ha nombrado a la clase como "org.springframework.scheduling.quartz.CronTriggerBean"
Pero la primavera 4 no incluye este nombre de clase.
[5/28/15 20: 10: 16: 798 EDT] 00000092 ClassPathXmlA W org.springframework.context.support.AbstractApplicationContext __refresh Excepción encontrada durante la inicialización del contexto - cancelando el intento de actualización org.springframework.beans.factory.CannotLoadceanclassicclassClass [org.springframework.scheduling.quartz.CronTriggerBean] para el bean con el nombre ''beanIdName'' definido en el recurso de ruta de clase [config / spring / WxsCacheContext.xml]; la excepción anidada es java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.CronTriggerBean en org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass (AbstractBeanFactory.java:1328)
He intentado una alternativa como "Spring-Support" que tiene la misma clase. Pero no hay suerte.
Después de conseguir ese tarro, está dando errores sobre el cuarzo.
[5/28/15 15: 37: 02: 665 EDT] 0000006e SystemOut O ERROR (?:?) - java.lang.Exception: Bean de SpringUtils.getSpringBean (hostnameVerifierSetter) mensaje de error: No se puede inicializar la definición de grupo. Nombre del recurso de grupo [classpath *: beanRefFactory.xml], clave de fábrica [beanContext]; la excepción anidada es org.springframework.beans.factory.BeanCreationException: Error al crear bean con el nombre ''beanContext'' definido en la URL [archivo: / C: / Program% 20Files% 20 (x86) / IBM / WebSphere / AppServer / profiles / AppSrv01 / installedApps / cellName / Project.ear / configurations / beanRefFactory.xml]: Falló la creación de instancias de Bean a través del constructor; la excepción anidada es org.springframework.beans.BeanInstantiationException: no se pudo crear una instancia de [org.springframework.context.support.ClassPathXmlApplicationContext]: el constructor lanzó la excepción; la excepción anidada es java.lang.NoClassDefFoundError: org.quartz.impl.JobDetailImpl
A partir de Spring 3.1+, cambie los nombres de clase para CronTriggerFactoryBean y JobDetailFactoryBean como se muestra a continuación
org.springframework.scheduling.quartz.CronTriggerBean
org.springframework.scheduling.quartz.CronTriggerFactoryBean
org.springframework.scheduling.quartz.JobDetailBean
org.springframework.scheduling.quartz.JobDetailFactoryBean
Así que tus pasos son:
Cambio
CronTriggerBean to CronTriggerFactoryBean
JobDetailBean a JobDetailFactoryBean
Desde Spring3.1, ha cambiado.