You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2018/03/09 17:46:00 UTC

[jira] [Resolved] (CAMEL-12340) camel uses org.springframework.boot.bind.RelaxedPropertyResolver which is removed from spring 2.0.0

     [ https://issues.apache.org/jira/browse/CAMEL-12340?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-12340.
---------------------------------
       Resolution: Invalid
         Assignee: Claus Ibsen
    Fix Version/s: 2.21.0

Spring Boot 2 is not supported - wait for Camel 2.22 release

> camel uses org.springframework.boot.bind.RelaxedPropertyResolver which is removed from spring 2.0.0
> ---------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-12340
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12340
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.20.2
>            Reporter: Dag Framstad
>            Assignee: Claus Ibsen
>            Priority: Major
>             Fix For: 2.21.0
>
>
> I'm using camel 2.20.2 and I've upgraded to spring boot 2.0.0 (from 1.5.10) and am getting this stacktrace when I start my application:
> {code:java}
> // code placeholder
> 2018-03-09 17:47:34,372 ERROR org.springframework.boot.SpringApplication Application run failed
> org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [no.nav.helse.utbetaling.UtbetalingsOppdragApplication]; nested exception is java.lang.IllegalStateException: Could not evaluate condition on org.apache.camel.spring.boot.health.HealthCheckRoutesAutoConfiguration due to org/springframework/boot/bind/RelaxedPropertyResolver not found. Make sure your own configuration does not rely on that class. This can also happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake)
> at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:616) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:548) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:184) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:316) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:273) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:93) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:693) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at no.nav.helse.utbetaling.UtbetalingsOppdragApplication.main(UtbetalingsOppdragApplication.java:19) [classes/:?]
> Caused by: java.lang.IllegalStateException: Could not evaluate condition on org.apache.camel.spring.boot.health.HealthCheckRoutesAutoConfiguration due to org/springframework/boot/bind/RelaxedPropertyResolver not found. Make sure your own configuration does not rely on that class. This can also happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake)
> at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:55) ~[spring-boot-autoconfigure-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> ... 15 more
> Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyResolver
> at org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.isEnabled(HierarchicalPropertiesEvaluator.java:49) ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.evaluate(HierarchicalPropertiesEvaluator.java:42) ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at org.apache.camel.spring.boot.util.GroupCondition.getMatchOutcome(GroupCondition.java:40) ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> ... 15 more
> Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_121]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_121]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[?:1.8.0_121]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_121]
> at org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.isEnabled(HierarchicalPropertiesEvaluator.java:49) ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at org.apache.camel.spring.boot.util.HierarchicalPropertiesEvaluator.evaluate(HierarchicalPropertiesEvaluator.java:42) ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at org.apache.camel.spring.boot.util.GroupCondition.getMatchOutcome(GroupCondition.java:40) ~[camel-spring-boot-2.20.2.jar:2.20.2]
> at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[spring-boot-autoconfigure-2.0.0.RELEASE.jar:2.0.0.RELEASE]
> at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:109) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:217) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
> ... 15 more
> Process finished with exit code 1
> {code}
> Any plans to fully support Spring Boot 2.0.0? 
> Or any helpful hints on a workaround?
> I have included the following dependencies in my pom.xml (only the most relevant camel and pring dependencies here, some might be duplicated, the application depends on an other pom which has spring-boot-starter-parent as parent):
> {code}
> <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-beans</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.boot</groupId>
>             <artifactId>spring-boot</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.boot</groupId>
>             <artifactId>spring-boot-autoconfigure</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.querydsl</groupId>
>             <artifactId>querydsl-core</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.data</groupId>
>             <artifactId>spring-data-commons</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.data</groupId>
>             <artifactId>spring-data-jpa</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.github.darrachequesne</groupId>
>             <artifactId>spring-data-jpa-datatables</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.hibernate.javax.persistence</groupId>
>             <artifactId>hibernate-jpa-2.1-api</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-web</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-context</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-spring-boot-starter</artifactId>
>             <scope>runtime</scope>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-core</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-spring</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>io.swagger</groupId>
>             <artifactId>swagger-annotations</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>io.prometheus</groupId>
>             <artifactId>simpleclient_hotspot</artifactId>
>         </dependency>
>  <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-web</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-cxf</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-jms</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-spring</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.apache.camel</groupId>
>             <artifactId>camel-metrics</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.hibernate.javax.persistence</groupId>
>             <artifactId>hibernate-jpa-2.1-api</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.querydsl</groupId>
>             <artifactId>querydsl-core</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-jdbc</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.data</groupId>
>             <artifactId>spring-data-jpa</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.github.darrachequesne</groupId>
>             <artifactId>spring-data-jpa-datatables</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework.boot</groupId>
>             <artifactId>spring-boot-autoconfigure</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>com.google.code.findbugs</groupId>
>             <artifactId>annotations</artifactId>
>         </dependency>
>         <dependency>
>             <groupId>org.springframework</groupId>
>             <artifactId>spring-jms</artifactId>
>         </dependency>
>  {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)