Daniel Gredler created CAMEL-6552:
-------------------------------------
Summary: More dynamic options for properties component locations
Key: CAMEL-6552
URL: https://issues.apache.org/jira/browse/CAMEL-6552
Project: Camel
Issue Type: Improvement
Components: camel-core
Affects Versions: 2.11.0
Reporter: Daniel Gredler
Priority: Minor
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}}s 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: http://www.atlassian.com/software/jira