I see and just created a JIRA[1] to track your issue. It should be easy to fix :)
[1] https://issues.apache.org/activemq/browse/CAMEL-1426 Willem ee7arh wrote: > The reason is that I want to use Transactions and as far as I know, only > Spring supports this with PROPOGATION_REQUIRED. > > Following line does not compile in standard RouteBulder: > > Policy required > = new SpringTransactionPolicy(bean(TransactionTemplate.class, > "PROPAGATION_REQUIRED")); > > If there is a way to do transactions in basic RouteBuilder I'm all for it ;) > > Thanks > Andrew > > > > > willem.jiang wrote: >> Why don't you use the RouterBuilder if you are using the Spring >> configuration file to scan the builders? >> >> Willem >> andrew.hu...@2e-systems.com wrote: >>> Thanks, >>> >>> Any idea if this would be possible to do via XML? The problem occurs when >>> Spring scans my packages during startup and finds a SpringRouteBuilder in >>> there. So if I can't do this from XML it would mean that I have to put my >>> SpringRouteBuilder in a package where Sprng can't scan it, then set it up >>> myself somehow.... A bit unsure of how I would go about that. >>> >>> Regards >>> Andrew >>> >>> willem.jiang wrote: >>>> Hi , >>>> >>>> You can use >>>> SpringCamelContext.springCamelContext(applicationContext); >>>> to create a SpringCamelContext from an applicationContext. >>>> >>>> Willem >>>> >>>> >>>> >>>> Too add a bit more information.... >>>> >>>> I found the code which throws this error in the camel source base: >>>> >>>> public ApplicationContext getApplicationContext() { >>>> + if (applicationContext == null) { >>>> + CamelContext camelContext = getContext(); >>>> + if (camelContext instanceof SpringCamelContext) { >>>> + SpringCamelContext springCamelContext = >>>> (SpringCamelContext) camelContext; >>>> + return springCamelContext.getApplicationContext(); >>>> + } >>>> + else { >>>> + throw new IllegalArgumentException("This SpringBuilder >>>> is >>>> not being used >>>> with a SpringCamelContext and there is no applicationContext property >>>> configured"); >>>> + } >>>> + } >>>> >>>> >>>> So the problem seems to be that I have an instance of CamelContext >>>> instead >>>> of SpringCamelContext. SpringcamelContext extends camelcontext >>>> incidently. >>>> >>>> the questions is - how can I create an instance of SpringCamelContext >>>> from >>>> within my Spring xml? >>>> >>>> To refer back to my original post, I have this piece of XML to create, I >>>> guess, a normal camelContext: >>>> >>>> <camel:camelContext id="camel2" >>>> xmlns="http://activemq.apache.org/camel/schema/spring"> >>>> <camel:package>com.mycompany.mypackage</camel:package> >>>> </camel:camelContext> >>>> >>>> I was hoping it would be as simply as changing "camelContext" to >>>> "SpringCamelContext" but sadly not ;) >>>> >>>> Can anyone indicate if this is something perhaps currently not >>>> supported, >>>> or hopefully offer a solution? maybe I can't use spring xml for this? >>>> >>>> I am using the SpringRouteBuilder because I want to be able to ensure >>>> that >>>> messages are persisted from 1 queue to another (i.e. if somebody pulls >>>> out >>>> the plug during processing within a bean, my message will still exist on >>>> the "from" queue and not be lost). So if Camel supports transactions >>>> another way, would gladly use that instead. >>>> >>>> Thanks for any feedback >>>> >>>> andrew >>>> >>>> >>>> >>> Quoted from: >>> http://www.nabble.com/Error%3A-This-SpringBuilder-is-not-being-used-with-a-SpringCamelContext-and-there-is-no-applicationContext-property-configured-tp22326547p22347500.html >>> >>> >> >> >