You need to give the @Component a id, and not use the class name as the id. A java class name should start with upper case. Not sure if the spring annotation can do that, but maybe you can do @Component(name = "routebuilderOne") or something....
Actually this case: <simple>${bodyAs(String)} contains 'verification'</simple> didn't work cause: In Camel the message body can be of any types. Some types are safely readable multiple times, and therefore do not 'suffer' from becoming 'empty'. It fixes by Stream caching...
java,spring,grails,groovy,spring-dsl
If you just want to ensure the cacheManager is properly set up before invoking the getter methods then you could do that purely at the configuration level with something like cacheManager(CacheManager) { ... } pdfDocumentCache(MethodInvokingFactoryBean) { bean -> bean.dependsOn = ['cacheManager'] targetClass = CacheManager targetMethod = 'getROCache' arguments = ['somecache']...
I think your main just exit after starting the camel context. Please check out this for Running Camel standalone and keeping it running.