On Tue, Mar 20, 2018 at 3:21 PM, Wilson MacGyver <wmacgy...@gmail.com> wrote: > Oh I didn’t know that there was CamelSpringTestSupport! Thank you! Will try > it >
Just a mind that CamelSpringTestSupport was created many years ago before Spring Boot, and thus is more suitable for old fashioned Spring apps such as WARs etc. > On Tue, Mar 20, 2018 at 6:09 AM Claus Ibsen <claus.ib...@gmail.com> wrote: > >> Hi >> >> Okay so the issue is that you have a spring-boot application and you >> extend CamelTestSupport which performs some initialization that happen >> to do bean post processing as well, but under the assumption it was >> not running with Spring (we can likely improve this in >> CamelTestSupport). >> >> But you should either extend CamelSpringTestSupport or not extend a >> base class at all. >> >> On Sun, Mar 18, 2018 at 7:37 PM, Wilson MacGyver <wmacgy...@gmail.com> >> wrote: >> > Hi >> > >> > I'm using camel 2.21.0, spring boot 1.5.10 >> > >> > I put together strip down version of what I'm seeing at >> > >> > https://github.com/wmacgyver/camel-spring-boot-property-bug >> > >> > >> > >> > Running ExampleRouteTest method testWithContent >> > >> > @Value("${fromUser}") >> > private String fromUser; >> > >> > @Value("${toUser}") >> > private String toUser; >> > >> > works correctly. >> > >> > Both have values from applciation.properties >> > >> > >> > >> .to("smtp://localhost?from={{fromUser}}&to={{toUser}}&subject=Test+Done"); >> > >> > Does not. >> > >> > >> > You get >> > >> > org.apache.camel.FailedToCreateRouteException: Failed to create route >> > route1 at: >>> >> To[smtp://localhost?from={{fromUser}}&to={{toUser}}&subject=Test+Done] >> > <<< in route: Route(route1)[[From[direct:startRoute]] -> >> > [SetBody[simple{S... because of Property with key [fromUser] not found >> > in properties from text: >> > smtp://localhost?from={{fromUser}}&to={{toUser}}&subject=Test+Done >> > >> > ... >> > Caused by: java.lang.IllegalArgumentException: Property with key >> > [fromUser] not found in properties from text: >> > smtp://localhost?from={{fromUser}}&to={{toUser}}&subject=Test+Done >> > at >> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.getPropertyValue(DefaultPropertiesParser.java:270) >> > at >> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.readProperty(DefaultPropertiesParser.java:156) >> > at >> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.doParse(DefaultPropertiesParser.java:115) >> > at >> org.apache.camel.component.properties.DefaultPropertiesParser$ParsingContext.parse(DefaultPropertiesParser.java:99) >> > at >> org.apache.camel.component.properties.DefaultPropertiesParser.parseUri(DefaultPropertiesParser.java:62) >> > at >> org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:235) >> > at >> org.apache.camel.component.properties.PropertiesComponent.parseUri(PropertiesComponent.java:178) >> > at >> org.apache.camel.impl.DefaultCamelContext.resolvePropertyPlaceholders(DefaultCamelContext.java:2550) >> > at >> org.apache.camel.model.ProcessorDefinitionHelper.resolvePropertyPlaceholders(ProcessorDefinitionHelper.java:735) >> > at >> org.apache.camel.model.ProcessorDefinition.makeProcessorImpl(ProcessorDefinition.java:537) >> > at >> org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:523) >> > at >> org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:239) >> > at >> org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:1300) >> > >> > >> > >> > >> > Thanks >> > >> > >> > On Sun, Mar 18, 2018 at 4:49 AM, Claus Ibsen <claus.ib...@gmail.com> >> wrote: >> > >> >> Hi >> >> >> >> Can you post the stacktrace, and can you tell a bit about where you >> >> put that @ProjectInject. >> >> And what version of camel and SB are you using. And have you tried >> >> with a newer version >> >> >> >> On Sat, Mar 17, 2018 at 6:03 AM, Wilson MacGyver <wmacgy...@gmail.com> >> >> wrote: >> >> > Hi there, >> >> > >> >> > I'm using camel-spring-boot >> >> > >> >> > I add >> >> > >> >> > hello = world in my application.properties >> >> > >> >> > I notice if I use >> >> > >> >> > @PropertyInject("hello") >> >> > private String hello >> >> > >> >> > I get >> >> > >> >> > Property with key not found in properties from text >> >> > >> >> > but if I use >> >> > >> >> > @Value("${hello}") >> >> > >> >> > it works. >> >> > >> >> > this surprise me, since I was under the impression that per doc, camel >> >> uses >> >> > spring to resolve all the properties if you use camel-spring-boot. but >> >> yet >> >> > somehow spring can find the value from applicaiton.properties, but >> camel >> >> > can not? >> >> > >> >> > am I missing something? >> >> > >> >> > -- >> >> > Omnem crede diem tibi diluxisse supremum. >> >> >> >> >> >> >> >> -- >> >> Claus Ibsen >> >> ----------------- >> >> http://davsclaus.com @davsclaus >> >> Camel in Action 2: https://www.manning.com/ibsen2 >> >> >> > >> > >> > >> > -- >> > Omnem crede diem tibi diluxisse supremum. >> >> >> >> -- >> Claus Ibsen >> ----------------- >> http://davsclaus.com @davsclaus >> Camel in Action 2: https://www.manning.com/ibsen2 >> -- Claus Ibsen ----------------- http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2