web-dev-qa-db-fra.com

Migration du printemps 3 au printemps 4 - org.springframework.scheduling.quartz.CronTriggerBean

J'essaie de migrer du printemps 3.0.5 au printemps 4.1.X.

La classe Spring a pour nom "org.springframework.scheduling.quartz.CronTriggerBean" du printemps 3.

Mais Spring 4 n'inclut pas ce nom de classe.

[28/05/15 20: 10: 16: 798 EDT] 00000092 ClassPathXmlA W org.springframework.context.support.AbstractApplicationContext __refresh Exception rencontrée lors de l'initialisation du contexte - annulation de la tentative d'actualisation org.springframework.beans.factory.CannotLoadBeanClassException: ne peut pas recherchez la classe [org.springframework.scheduling.quartz.CronTriggerBean] pour bean avec le nom 'beanIdName' défini dans la ressource de chemin de classe [config/spring/WxsCacheContext.xml]; exception imbriquée est Java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.CronTriggerBean sur org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass (AbstractBeanFactory.Java:1328)

J'ai essayé des alternatives comme "spring-support" qui a la même classe. Mais pas de chance.

Après avoir obtenu ce pot, il donne des erreurs sur le quartz

[28/05/15 15: 37: 02: 665 EDT] 0000006e SystemOut O ERROR (?:?) - Java.lang.Exception: Bean de SpringUtils.getSpringBean (hostnameVerifierSetter) message d'erreur: Impossible d'initialiser la définition du groupe. Nom de la ressource du groupe [classpath *: beanRefFactory.xml], clé d'usine [beanContext]; imbriqué exception est org.springframework.beans.factory.BeanCreationException: Erreur lors de la création du bean avec le nom 'beanContext' défini dans l'URL [fichier:/C:/Programme% 20 Fichiers% 20 (x86) /IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/cellName/Project.ear/configurations/beanRefFactory.xml]: L'instanciation du bean via le constructeur a échoué; exception imbriquée est org.springframework.beans.BeanInstantiationException: Echec de instancier [org.springframework.context.support.ClassPathXmlApplicationContext]: Le constructeur a jeté une exception; exception imbriquée est Java.lang.NoClassDefFoundError: org.quartz.impl.JobDetailImpl

25

À partir de Spring 3.1+, modifiez les noms de classe de CronTriggerFactoryBean & JobDetailFactoryBean comme ci-dessous.

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

Donc, vos étapes sont les suivantes:

Changement

CronTriggerBean à CronTriggerFactoryBean
JobDetailBean à JobDetailFactoryBean

49
0
XiaJun