Sorry. I guess my reply was not clear. I wasn't saying it need changes. I was just saying (and i tried it about a year ago) is that Spring Boot needs a little config to expose things "correctly" when using that component. That article was the first one i came too when i googled. :( Maybe it doesn't anymore? :)
I was only trying to figure out what might possible cause the issue he was seeing. And also to give him a work around. On Thu, Oct 12, 2017 at 8:27 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > On Thu, Oct 12, 2017 at 2:20 PM, Mark Nuttall <mknutt...@gmail.com> wrote: > > well that does sound like an issue with the camel-http-starter component > > and would be something for the maintainers. > > If i remember rightly, using that component with spring boot requires > some > > minor coding additions to get things to work (i.e. like this - > > http://www.frommknecht.net/spring-boot-meets-apache-camel/). It might be > > related. > > > > So, what I suggest is just use Spring Controllers instead. It is VERY > easy > > to do and just use the producerTemplate to send thing to camel routes. > This > > is what I do. > > > > No camel-http-starter does not need any changes. > That link your provided is to some old article from 2014. > > Sure spring-mvc is a good web library and you can easily integrate > with with Camel with producer templates or other means. > > > On Thu, Oct 12, 2017 at 4:12 AM, Florian Posch < > > florian.po...@performgroup.com> wrote: > > > >> Hi, > >> > >> Thanks for your swift reply. > >> > >> As mentioned in the Stackoverflow question, it is not a matter of > generic > >> objects like Map<> or Object because injection of a domain-specific > class > >> doesn't work either. > >> > >> Finally, I've found out what could potentially cause the problem: For my > >> case, it depends on whether camel-http-starter is on the classpath or > not. > >> If I remove that dependency MyInflightRepositorys' data field gets > >> injected, otherwise not. Not sure if this makes any sense in the given > >> sample but that changes our application's behaviour... > >> > >> See https://github.com/DoNuT1985/camel-dependency-sample > >> > >> I hope this helps. > >> > >> Kind regards, > >> Florian > >> > >> > >> > >> > >> Florian Posch // Software Engineer > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> T - > >> > >> RunningBall Sports Information GmbH > >> M - > >> > >> Plabutscher Straße 63 > >> F - > >> > >> 8051 Graz > >> E florian.po...@performgroup.com > >> > >> Austria > >> Skype rb.fposch > >> > >> > >> > >> > >> W www.performgroup.com > >> > >> > >> -----Ursprüngliche Nachricht----- > >> Von: Mark Nuttall [mailto:mknutt...@gmail.com] > >> Gesendet: Mittwoch, 11. Oktober 2017 13:45 > >> An: users@camel.apache.org > >> Betreff: Re: Camel Spring Boot: Bean initialization skipped in > >> auto-configuration > >> > >> I looked at stacktrace and your code here. I agree with the comment > about > >> the Map. The same thing can happen with strings. I am not sure what the > map > >> does but you might be able to that in Spring properties. If not, either > >> create a class to hold the map and make that class the Bean or provide a > >> name to the Bean and make sure you use that when you inject the bean. > >> > >> I think we are going to need a copy of code that does not work. I use > >> Spring Boot and Camel pretty extensively and while it is not without > >> issues, it was usually due to me doing something probably I shouldnt > have > >> or there was a better way. :) > >> > >> Also, as suggested, use constructor injection. The version of Boot you > are > >> using makes it very easy - all you need is a single constructor on your > >> managed object (to include the RouteBuilder). And if you use Lombok, it > is > >> even easier. > >> > >> Mark > >> > >> On Wed, Oct 11, 2017 at 4:41 AM, Florian Posch < > >> florian.po...@performgroup.com> wrote: > >> > >> > Hi, > >> > > >> > I'm using Camel 2.19.3 and Spring Boot 1.5.7 including the > >> > corresponding Camel starter for my application and am having some > >> > issues with a custom InflightRepository getting set up. > >> > > >> > It is defined as Spring @Component and should get applied to the > >> > context by auto-configuration but the problem is that the bean isn't > >> > properly initialized > >> > > >> > @Component > >> > public class MyInflightRepository extends > >> > DefaultInflightRepository { > >> > > >> > @Autowired > >> > private MyInjectedBean bean; > >> > > >> > // ... > >> > } > >> > > >> > > >> > The repository gets applied to the CamelContext as well as it is > >> > available but to me it looks as if premature bean access in > >> > CamelAutoConfiguration.afterPropertiesSet > >> > causes the bean not being initialiized properly (so @Autowired members > >> > remain null but Spring starts up without an error). As far as I > >> > understood this happens because Application.getBeansByType(...) gets > >> > called before all property resolvers are initialized. > >> > > >> > I was able to work around that by manually initializing my > >> > InflightRepository and setting it in a CamelConfiguration bean but for > >> > my taste this is a bit dangerous to scan for custom beans that might > >> > not get initialized properly during startup. > >> > > >> > There's a more detailed snippet given on my Stackoverflow post: > >> > https://stackoverflow.com/questions/46680985/spring- > >> > boot-camel-autowiring-issues-in-camel-components > >> > > >> > Any question, please let me know... > >> > > >> > Kind regards, > >> > Florian > >> > > >> > Florian Posch // Software Engineer > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > > >> > T - > >> > > >> > RunningBall Sports Information GmbH > >> > M - > >> > > >> > Plabutscher Straße 63 > >> > F - > >> > > >> > 8051 Graz > >> > E florian.po...@performgroup.com > >> > > >> > Austria > >> > Skype rb.fposch > >> > > >> > > >> > > >> > > >> > W www.performgroup.com > >> > > >> > > >> > > >> > >> ____________________________________________________________ > ____________ > >> > >> CONFIDENTIALITY - This email and any files transmitted with it, are > >> confidential, may be legally privileged and are intended solely for the > use > >> of the individual or entity to whom they are addressed. If this has > come to > >> you in error, you must not copy, distribute, disclose or use any of the > >> information it contains. Please notify the sender immediately and delete > >> them from your system. > >> > >> SECURITY - Please be aware that communication by email, by its very > >> nature, is not 100% secure and by communicating with Perform Group by > email > >> you consent to us monitoring and reading any such correspondence. > >> > >> VIRUSES - Although this email message has been scanned for the presence > of > >> computer viruses, the sender accepts no liability for any damage > sustained > >> as a result of a computer virus and it is the recipient’s > responsibility to > >> ensure that email is virus free. > >> > >> AUTHORITY - Any views or opinions expressed in this email are solely > those > >> of the sender and do not necessarily represent those of Perform Group. > >> > >> COPYRIGHT - Copyright of this email and any attachments belongs to > Perform > >> Group, Companies House Registration number 6324278. > >> > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2 >