camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Dynamic route ids with Spring DSL
Date Sat, 24 Nov 2012 08:32:04 GMT
On Wed, Nov 21, 2012 at 11:34 AM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
> On Tue, Nov 20, 2012 at 9:23 PM, Henrique Viecili <henrique@myreks.com> wrote:
>> I tried in many different ways to set a dynamic route id (see below), but
>> apparently the id receives the raw string as I checked with jconsole. The
>> log endpoint ids received the property value as expected
>> (some.namespace=NAMESPACE).
>>
>> I also tried to use a property for the camelContext id, which gave me the
>> exception:
>> Error creating bean with name '${some.namespace}': Cannot resolve reference
>> to bean 'NAMESPACE:beanPostProcessor' while setting bean property
>> 'beanPostProcessor'; nested exception is
>> org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
>> named 'NAMESPACE:beanPostProcessor' is defined
>>
>
> Yeah you wont be able to do that on the ID of the CamelContext as its
> a bit like chicken and egg.
>
> Though on the routes, these ought to be able to support placeholders.
> Its probably just some extra code we need in camel-core-xml to support
> that. Let me take a look when I get a bit time.
>

I logged a ticket to not forget about this
https://issues.apache.org/jira/browse/CAMEL-5820

>
>>
>> this is the camel-context I tested:
>> <beans> [...]
>>    <util:properties id="props" location="classpath:namespace.properties" />
>>
>>     <context:property-placeholder properties-ref="props"/>
>>
>>     <bean id="namespace" class="java.lang.String"><constructor-arg
>> value="${some.namespace}"/></bean>
>>
>>     <camel:camelContext id="camel-context" trace="true" >
>>         <camel:propertyPlaceholder id="properties"
>> location="ref:props"/>
>>
>>         <camel:route id="#{'GENERIC-route-'+namespace}">
>>             <camel:from uri="direct:start"/>
>>             <camel:to uri="log:started-{{some.namespace}}"/>
>>         </camel:route>
>>
>>         <camel:route id="${some.namespace}-route">
>>             <camel:from uri="direct:start2"/>
>>             <camel:to uri="log:started2-{{some.namespace}}"/>
>>         </camel:route>
>>
>>         <camel:route id="{{some.namespace}}">
>>             <camel:from uri="direct:start3"/>
>>             <camel:to uri="log:started3-{{some.namespace}}"/>
>>         </camel:route>
>>     </camel:camelContext>
>>
>> </beans>
>>
>>
>>
>>
>> *Henrique Viecili*
>> Myreks
>>
>>
>>
>> On Tue, Nov 20, 2012 at 12:57 PM, Claus Ibsen <claus.ibsen@gmail.com> wrote:
>>
>>> On Mon, Nov 19, 2012 at 9:48 PM, Henrique Viecili <henrique@myreks.com>
>>> wrote:
>>> > Is it possible to set the route id attribute with a dynamic value? (in
>>> > Spring DSL)
>>> >
>>> > Example:
>>> >
>>> > <camel:route id="my-route-{{suffix}}"/>
>>> >
>>> > and 'suffix' comes from a property file.
>>> >
>>>
>>> Have you tried
>>>
>>> Camel's property placeholder on the DSL is applies on all the
>>> setter/getters on the model. So from Camel point of view, there is a
>>> getId/setId option.
>>>
>>> Though that's usully applied to the content inside a route. On the
>>> <route> itself I am actually not sure the "id" attribute is.
>>>
>>> Though give it a try and report back.
>>>
>>>
>>>
>>> >
>>> > *Henrique Viecili*
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> Red Hat, Inc.
>>> FuseSource is now part of Red Hat
>>> Email: cibsen@redhat.com
>>> Web: http://fusesource.com
>>> Twitter: davsclaus
>>> Blog: http://davsclaus.com
>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>
>
>
>
> --
> Claus Ibsen
> -----------------
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Email: cibsen@redhat.com
> Web: http://fusesource.com
> Twitter: davsclaus
> Blog: http://davsclaus.com
> Author of Camel in Action: http://www.manning.com/ibsen



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cibsen@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Mime
View raw message