Squash fails to start because of the variable plugin.bugtracker.bugzilla.cache-refresh.cron-expression
Affected version : 10.1.RELEASE
After upgrading from Squash 9.x to Squash 10.1, the application fails to start when the plugin.bugtracker.bugzilla.cache-refresh.cron-expression variable is configured.
Steps to reproduce
- Install or upgrade to Squash 10.1
- Set the following variable in the configuration: plugin.bugtracker.bugzilla.cache-refresh.cron-expression =
- Start Squash
Expected result
Squash starts correctly with the configured cache-refresh.cron-expression value.
Observed behaviour
Squash fails to start. The startup process is blocked. Details of the error can be found in the logs :
25-06-16 17:15:27.188] SquashTM - 1151900 ERROR [main] [] --- org.springframework.boot.SpringApplication: Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.squashtest.tm.plugin.bugtracker.bugzilla.BugzillaFieldsCache': Invocation of init method failed at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:222) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:422) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1798) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean0(AbstractBeanFactory.java:337) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:971) ~[spring-context-6.1.17.jar!/:6.1.17] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:625) ~[spring-context-6.1.17.jar!/:6.1.17] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.3.9.jar!/:3.3.9] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) [spring-boot-3.3.9.jar!/:3.3.9] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) [spring-boot-3.3.9.jar!/:3.3.9] at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) [spring-boot-3.3.9.jar!/:3.3.9] at org.squashtest.tm.SquashTm.main(SquashTm.java:64) [!/:?] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:102) [squash-tm.war:?] at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64) [squash-tm.war:?] at org.springframework.boot.loader.launch.WarLauncher.main(WarLauncher.java:53) [squash-tm.war:?] Caused by: java.lang.NoClassDefFoundError: org/quartz/CronExpression at org.squashtest.tm.plugin.bugtracker.bugzilla.internal.xmlrcp.client.service.BugzillaGlobalFieldsCache.isValidCronExpression(BugzillaGlobalFieldsCache.java:132) ~[?:?] at org.squashtest.tm.plugin.bugtracker.bugzilla.internal.xmlrcp.client.service.BugzillaGlobalFieldsCache.getCronExpressionProperty(BugzillaGlobalFieldsCache.java:118) ~[?:?] at org.squashtest.tm.plugin.bugtracker.bugzilla.internal.xmlrcp.client.service.BugzillaGlobalFieldsCache.scheduleRefreshFieldsCache(BugzillaGlobalFieldsCache.java:107) ~[?:?] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessorLifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessorLifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219) ~[spring-beans-6.1.17.jar!/:6.1.17] ... 21 more Caused by: java.lang.ClassNotFoundException: org.quartz.CronExpression at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) ~[?:?] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ~[?:?] at org.squashtest.tm.plugin.bugtracker.bugzilla.internal.xmlrcp.client.service.BugzillaGlobalFieldsCache.isValidCronExpression(BugzillaGlobalFieldsCache.java:132) ~[?:?] at org.squashtest.tm.plugin.bugtracker.bugzilla.internal.xmlrcp.client.service.BugzillaGlobalFieldsCache.getCronExpressionProperty(BugzillaGlobalFieldsCache.java:118) ~[?:?] at org.squashtest.tm.plugin.bugtracker.bugzilla.internal.xmlrcp.client.service.BugzillaGlobalFieldsCache.scheduleRefreshFieldsCache(BugzillaGlobalFieldsCache.java:107) ~[?:?] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[?:?] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessorLifecycleMethod.invoke(InitDestroyAnnotationBeanPostProcessor.java:457) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:401) ~[spring-beans-6.1.17.jar!/:6.1.17] at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:219) ~[spring-beans-6.1.17.jar!/:6.1.17] ... 21 more
Edited by Elise Lebouvier