[ 
https://issues.apache.org/jira/browse/CAMEL-5554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13448962#comment-13448962
 ] 

james strachan commented on CAMEL-5554:
---------------------------------------

Added an initial implementation - e.g. see this test case
http://svn.apache.org/viewvc/camel/trunk/components/camel-cdi/src/test/java/org/apache/camel/cdi/XmlRoutesFromClassPathTest.java?revision=HEAD&view=markup

by using RoutesXml.loadRoutesFrom... (File / XML / ClassPath / URL) we can 
easily load a RoutesDefinition which via @Produces and @ContextName can be 
easily injected as routes into a CamelContext (with an optional contextName)
                
> allow XML DSL to work in CDI
> ----------------------------
>
>                 Key: CAMEL-5554
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5554
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-cdi
>            Reporter: james strachan
>            Assignee: james strachan
>             Fix For: 2.11.0
>
>
> I can see folks wanting to also use CDI with the XML DSL for Camel route 
> definitions (e.g. so they can use round tripping visual editors rather than 
> using the Java DSL, but use CDI for all dependency injection to minimise XML 
> use for configuration).
> Maybe we could have some simple way to import routes into a CDI @Produces 
> method using some helper class; so the routes can then be injected via CDI 
> into a CamelContext?
> {code}
> public class MyConfiguration {
>   // loads some routes for injection into the CamelContext
>   @Produces
>   List<RouteDefinitions>  loadRoutes() {
>      return XmlRouteLoader.loadFromClassPath("com/acme/something/blah.xml");
>   }
> }
> {code}
> or maybe we should allow routes to be injected so that they could be used to 
> create a CamelContext...
> {code}
> public class MyConfiguration {
>   @Inject @RouteXml(classpath="com/acme/something/blah.xml")
>   List<RouteDefinitions> routes;
>   @Produces
>   CamelContext  createContext() {
>      return new CdiCamelContext(routes);
>   }
> }
> {code}

--
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

Reply via email to