[
https://issues.apache.org/jira/browse/CAMEL-5858?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-5858.
--------------------------------
Resolution: Won't Fix
> Camel Context Inheritance
> -------------------------
>
> Key: CAMEL-5858
> URL: https://issues.apache.org/jira/browse/CAMEL-5858
> Project: Camel
> Issue Type: New Feature
> Components: camel-core
> Reporter: Raúl Kripalani
> Assignee: Raúl Kripalani
> Priority: Major
> Fix For: Future
>
>
> Camel is a great foundation for building SOA-based integration platforms.
> To improve governance and code manageability, one tends to define a number of
> common policies/items to apply across all routes in the system, e.g.
> exception handlers, data format configurations, property placeholder
> configurations, component configurations, etc.
> If you use Spring, defining common component configs is possible by placing
> them in a separate Spring App Context file and using Spring's <import />
> directive, since components are just standard beans.
> However, for Camel-specific elements, there's no good solution, so you end up
> repeating yourself a lot... Consider this for a DRY solution:
> {code}
> <camelContext id="parent.config" abstract="true">
> <onException>
> <exception>java.lang.Exception</exception>
> ... do something here...
> </onException>
> <dataFormats>
> <json ... />
> <jaxb ... />
> </dataFormats>
> <propertyPlaceholder id="properties" location="ref:myProperties"/>
> </camelContext>
> {code}
> A new Camel Context could "absorb" the config above like this:
> {code}
> <camelContext parentId="parent.config">
> ... specific configuration ...
> ... routes ...
> </camelContext>
> {code}
> This works nicely with OSGi because Camel Contexts are enlisted in the
> Service Registry, so they can access and introspect each other. For other
> environments, we'll have to design something else.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)