Search code examples
spring-cloudspring-cloud-stream

Does spring-cloud-stream Horsham support Spring Boot 2.3?


So on Spring Cloud Streams : Overview they have the following then the version is labelled as Horsham.SR8 [3.0.8 RELEASE]:

table of release trains for spring cloud stream

But then this comment says Hoxton.SR5

However, currently in my application where I'm attempting to upgrade from Spring 2.1.X and Spring Cloud Greenwich to Spring 2.3.3 and Spring Cloud ? (currently Hoston.SR8) I get the following:

2020-08-31 15:16:59.561 WARN  [main] org.springframework.boot.SpringApplication -  - Unable to close ApplicationContext
java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.stream.function.FunctionConfiguration] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@512ddf17]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:481)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:358)
    at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:414)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.lambda$getTypeForFactoryMethod$2(AbstractAutowireCapableBeanFactory.java:742)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1737)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:741)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:680)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:648)
    at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1614)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:523)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:495)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:620)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:612)
    at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1243)
    at org.springframework.boot.SpringApplication.getExitCodeFromMappedException(SpringApplication.java:880)
    at org.springframework.boot.SpringApplication.getExitCodeFromException(SpringApplication.java:868)
    at org.springframework.boot.SpringApplication.handleExitCode(SpringApplication.java:855)
    at org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:806)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:325)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
    at com.myapplicaiton.MyApplicationKt.main(MyApplicationKt.kt:78)
Caused by: java.lang.NoClassDefFoundError: org/springframework/cloud/function/context/PollableBean
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3167)
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2310)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463)
    ... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.cloud.function.context.PollableBean
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 25 common frames omitted

Solution

  • What version of spring-cloud-function-context do you have on the classpath?

    I created a new Boot 2.3.3/Hoxton.SR8 app this morning and I see that class in spring-cloud-function-context-3.0.10.RELEASE.jar which should automatically be picked up.