You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Antonin Stefanutti (JIRA)" <ji...@apache.org> on 2016/04/28 16:35:12 UTC
[jira] [Resolved] (CAMEL-9882) Support importing Camel XML
configuration files in Camel CDI
[ https://issues.apache.org/jira/browse/CAMEL-9882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Antonin Stefanutti resolved CAMEL-9882.
---------------------------------------
Resolution: Fixed
> Support importing Camel XML configuration files in Camel CDI
> ------------------------------------------------------------
>
> Key: CAMEL-9882
> URL: https://issues.apache.org/jira/browse/CAMEL-9882
> Project: Camel
> Issue Type: New Feature
> Components: camel-cdi
> Reporter: Antonin Stefanutti
> Assignee: Antonin Stefanutti
> Fix For: 2.18.0
>
>
> So that user can use their existing Camel XML files with CDI or use Camel XML for configuring their Camel contexts.
> For example, given the following Camel XML:
> {code}
> <camelContext id="test" errorHandlerRef="error-handler"
> xmlns="http://camel.apache.org/schema/spring">
> <errorHandler id="error-handler"
> type="LoggingErrorHandler"
> logName="error"
> level="WARN"/>
> <route>
> <from uri="direct:inbound"/>
> <choice>
> <when>
> <simple>${body} contains 'exception'</simple>
> <throwException ref="failure"/>
> </when>
> <otherwise>
> <transform>
> <simple>Response to ${body}</simple>
> </transform>
> <to uri="mock:outbound"/>
> </otherwise>
> </choice>
> </route>
> </camelContext>
> {code}
> And following bean:
> {code}
> @Named
> @Produces
> Exception failure = new CamelException("failure message!");
> {code}
> The Camel XML elements with an {{id}} attributes ({{errorHandler}} in the example) get deployed as CDI beans and vice-versa the {{ref}} attributes can refer to CDI beans ({{@Named("failure")}} in the example).
> The current proposition is to expose an annotation that the developer can use on any CDI bean to declare the Camel XML files to import in her/his Camel CDI application, e.g.:
> {code}
> @ImportResource("imported-context.xml")
> class MyCamelCdiBean {
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)