On Tue, Nov 20, 2012 at 9:23 PM, Henrique Viecili <henri...@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. > > 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.ib...@gmail.com> wrote: > >> On Mon, Nov 19, 2012 at 9:48 PM, Henrique Viecili <henri...@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: cib...@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: cib...@redhat.com Web: http://fusesource.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen