I don't suppose you use OSGi? If you do, you can export each route as
an OSGi service assigning your own service properties.

Another possibility is to maintain an application-wide singleton
mimicking a route directory, where you keep a map of route ids and
route properties. Your route builder would publish all constructed
routes to this directory, assigning the relevant properties.

Your GC algorithm would then look into this directory to decide which
ones to prune.

Does that help?

On 4 Apr 2012, at 21:36, Hadrian Zbarcea <hzbar...@gmail.com> wrote:

> Kinda. What about convention over configuration and have the color in
> the route id (e.g. id="red.something" and if id.startsWith("red.") then
> garbage collect. Also keep in mind that the RouteBuilder creates just a
> model, not the route themselves.
>
> Hadrian
>
> On 04/04/2012 03:53 PM, Jeff Segal wrote:
>> Sure. I have a system which manages Routes dynamically, which requires some
>> garbage collection to iterate through all Routes in the CamelContext and
>> remove any which are deemed no longer necessary. For the sake of
>> discussion, let's say that I wanted to associate a "color" property with
>> all Routes built by a particular RouteBuilder. Later on, I want the garbage
>> collection algorithm to remove "red" Routes after running for 30 minutes
>> and leave other Routes alone.
>>
>> The easiest way to accomplish that would be to call a method from the
>> RouteBuilder which adds a "color" property to each Route it creates, which
>> I'd then inspect later on. However, the only method I have available to me
>> is RouteDefinition.setProperty(), which sets properties on the Exchanges
>> created by the Route, not on the Route itself.
>>
>> My current work-around is to maintain my own Route-Properties mapping in
>> memory.
>>
>> Does this make sense?
>>
>> On Wed, Apr 4, 2012 at 3:15 PM, Raul Kripalani<r...@fusesource.com>  wrote:
>>
>>> Hi Jeff,
>>>
>>> Could you explain your use case a bit further? It is not clear what you
>>> ultimately want to achieve.
>>>
>>> Regards,
>>> Raúl.
>>>
>>> On 4 April 2012 18:35, Jeff Segal<jeffrey.se...@gmail.com>  wrote:
>>>
>>>> Is there any facility to add arbitrary properties to Routes rather than
>>>> just Exchanges from within a RouteBuilder? I noticed that there are a few
>>>> internally managed properties automatically added to each Route (id,
>>>> parent, group) but I could not find a hook to set additional ones from a
>>>> RouteBuilder.
>>>>
>>>> Thanks,
>>>> Jeff
>>>>
>>>
>>
>
> --
> Hadrian Zbarcea
> Principal Software Architect
> Talend, Inc
> http://coders.talend.com/
> http://camelbot.blogspot.com/

Reply via email to