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
> [email protected] 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-tp22326547p22347997.html
Sent from the Camel - Users (activemq) mailing list archive at Nabble.com.