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. 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. >