Hi,
I’ve recently upgraded from Axon Framework 4.10.1 to 4.11.2, using Java 17 and Spring Boot 3.1.4.
After the upgrade, my application fails to start with the following error:
java.lang.IllegalStateException: Failed to introspect Class [org.axonframework.springboot.autoconfig.AxonTimeoutAutoConfiguration] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@1d44bcfa]
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:483)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:360)
at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:417)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$getTypeForFactoryMethod$1(AbstractAutowireCapableBeanFactory.java:748)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:747)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:680)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:651)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1630)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:560)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:532)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:659)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:651)
at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1304)
at org.springframework.boot.SpringApplication.getExitCodeFromMappedException(SpringApplication.java:870)
at org.springframework.boot.SpringApplication.getExitCodeFromException(SpringApplication.java:858)
at org.springframework.boot.SpringApplication.handleExitCode(SpringApplication.java:845)
at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:785)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:328)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1309)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1298)
at com.softilys.prev.dc.Application.main(Application.java:47)
Caused by: java.lang.NoClassDefFoundError: org/axonframework/messaging/timeout/HandlerTimeoutHandlerEnhancerDefinition
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402)
at java.base/java.lang.Class.getDeclaredMethods(Class.java:2504)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:465)
... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.axonframework.messaging.timeout.HandlerTimeoutHandlerEnhancerDefinition
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 25 common frames omitted
It seems like AxonTimeoutAutoConfiguration
tries to reference a class that is not on the classpath.
I only have the following Axon dependency declared:
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-configuration</artifactId>
<version>4.11.2</version>
</dependency>
<dependency>
<groupId>org.axonframework</groupId>
<artifactId>axon-spring-boot-starter</artifactId>
<version>4.11.2</version>
</dependency>
<dependency>
<groupId>org.axonframework.extensions.mongo</groupId>
<artifactId>axon-mongo-spring-boot-starter</artifactId>
<version>4.11.1</version>
</dependency>
<dependency>
<groupId>org.axonframework.extensions.reactor</groupId>
<artifactId>axon-reactor-spring-boot-starter</artifactId>
<version>4.11.0</version>
</dependency>