camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <>
Subject [jira] [Commented] (CAMEL-6552) More dynamic options for properties component locations
Date Wed, 17 Jul 2013 08:44:48 GMT


Claus Ibsen commented on CAMEL-6552:

If the intent is to allow adding RouteBuilder at runtime and that these routes have their
own properties locations as well. Then I think a better solution would be for these RouteBuilder(s)
to have local scoped locations, so they wont clash with each other.

The current patch seems to be intended that you use addLocation() method on PropertiesComponet
from these RouteBuilder to add their location(s). Then they are added at global scoped on
the shared properties component.

> More dynamic options for properties component locations
> -------------------------------------------------------
>                 Key: CAMEL-6552
>                 URL:
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.11.0
>            Reporter: Daniel Gredler
>            Priority: Minor
>         Attachments: dynamic-properties-location.patch
> As part of the properties component, Camel provides abstractions that make it easy for
third parties to customize its behavior (e.g. {{PropertiesParser}}, {{PropertiesResolver}}).
However, the resolution of properties file locations cannot be customized, and file locations
cannot be dynamically resolved at runtime.
> Additionally, Camel's Spring integration allows {{RouteBuilder}} instances to dynamically
contribute new routes to the Camel context. However, it is not easy to dynamically contribute
new properties file locations containing configuration for these routes. The result is that
while routes can be contributed dynamically in a decentralized way, route configuration must
be centralized.
> The attached patch implements one possible solution to this limitation. It adds a new
interface ({{PropertiesLocation}}), a default implementation ({{DefaultPropertiesLocation}}),
and two new methods on the {{PropertiesComponent}}: {{setLocation(PropertiesLocation)}} and
{{addLocation(PropertiesLocation)}}. It also ensures that any {{PropertiesLocation}} instances
available in the registry (or Spring context) are automatically added to the {{PropertiesComponent}}.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message