Hi Willem, Thanks for quick fix, I just tested it and it works. :jumping:
Just a note for other readers, this works with the existing camelContext, no need to declare a separate "springCamelContext" Bregards Andrew <qguote author="willem.jiang"> I did a quick fix for CAMEL-1426. The patch is submitted in the trunk and 1.x-branch. Please check out Camel 1.6.1-SNAPSHOT or 2.0-SNAPSHOT for verifaction. Willem willem.jiang wrote: > > 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 >>>> >>>> >>> >>> >> > > > -- View this message in context: http://www.nabble.com/Error%3A-This-SpringBuilder-is-not-being-used-with-a-SpringCamelContext-and-there-is-no-applicationContext-property-configured-tp22326547p23314741.html Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.