[ https://issues.apache.org/jira/browse/CAMEL-5466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13423403#comment-13423403 ]
Hadrian Zbarcea commented on CAMEL-5466: ---------------------------------------- Actually you can deploy new routes at runtime from anywhere you have access to the CamelContext. And yes, real applications have all sorts of needs, so seeing uncommon scenarios is not that, uhm, uncommon. One of the downsides of Camel (imho) is that being so flexible, it allows for various solutions, all with their pros and cons, sometimes making things quite confusing. I did not see myself systems with 1000's of routes in the same context, but I've seen apps with routes hitting 1000's of Endpoints. We are working on improving the threading model too. > new virtual endpoint component > ------------------------------ > > Key: CAMEL-5466 > URL: https://issues.apache.org/jira/browse/CAMEL-5466 > Project: Camel > Issue Type: Improvement > Affects Versions: 2.9.2 > Reporter: Ari Mando > Fix For: 2.9.3 > > Attachments: camel-virtual.tar.gz > > > I had the recurring need for a virtual endpoint in camel routes. Often I need > to define the same route, but just with different endpoint locations, > typically queues. > The supplied component allows for: > <route> > <from uri="virtual://source-queue?real=amq://@?"/> > <to uri="virtual://destination-queue?real=amq2://@?"/> > </route> > Then in a virtual.properties file: > *source-queue,destination-queue > queue1,queue4 > queue2,queue5 > queue3,queue6 > The above properties file would be like adding 3 routes. > The supplied impl is a bit rough, it needs some more work. The first cut was > sufficient for the usecase I needed it for. > I already thought it should be really like: > <virtual id="test" uri="file://queues.xml"> > <route> > <from uri="virtual://source-queue?real=amq://@?"/> > <to uri="virtual://destination-queue?real=amq2://@?"/> > </route> > </virtual> > then an xml file: > <endpointValues> > <header> > <value>source-queue</value> > <value>destination-queue</value> > </headers> > <entry> > <value>queue1,queue4</value> > <value>queue5,queue6</value> > </entry> > </endpointValues> > Using the DSL would allow multiple virtual routes with different config being > pulled from other camel endpoints. > Dynamic routing! Call it virtual routing or template routing. > Tasks to be finished on it: > * implement threading (concurrentConsumers) > * move to high level dsl model > * unit tests > * source configuration from enrichment uri call > * more robust error handling -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira