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

Ashwin Karpe commented on CAMEL-3285:
-------------------------------------

Kristof,

Your suggestion above has the implication of a 1:1 indirection i.e the 
addToCatalog endpoint will only indirect to the seda:addToCatalog route. It 
does not have the ability to perform content based routing to inner routes 
based on payload content.

Secondly, it is perfectly legal to have multiple consumers with
          from("direct:addtoCatalog")... 
          from("seda:addtoCatalog")...
                    and
          from("http://localhost:9000/addToCatalog) in the routebox at the same 
time.

How would you then indirect to the right route...? I am sure your usecase can 
be satisfied in the current implementation with a dispatchMap  the Routebox URI 
referring to a Spring defined Hashmap if the developer is averse to writing 
code.

I am afraid further simplification is a behavioral change that impacts 
capability and serves to confuse.  

Cheers,

Ashwin...

> Create a new blackbox component which can encapsulate routes using a 
> specialized ProtocolBuilder endpoint (similar to RouteBuilder)
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-3285
>                 URL: https://issues.apache.org/jira/browse/CAMEL-3285
>             Project: Camel
>          Issue Type: New Feature
>            Reporter: Ashwin Karpe
>            Assignee: Ashwin Karpe
>             Fix For: 2.6.0
>
>         Attachments: camel-routebox-20101220.zip, routebox.diff
>
>
> Given below is the discussion forum thread that spawned this thought.
> http://camel.465427.n5.nabble.com/Abstracting-Routes-using-Components-td3234703.html#a3234703
> Component requirements:
>  Need a Camel component (called Backbox, maybe) that can nicely expose a 
> ProtocolBuilder endpoint that does the following
>     a> Instantiate route definitions/route(s) configured in Spring or DSL at 
> startup
>     b> Launch a Producer or Consumer with a well known protocol(s) so that a 
> client can invoke it (could be direct or seda initially but could be any 
> protocol... really) . Must support multiple consumer endpoints and routes 
> using a URI scheme.
>     c> redirect received payloads (with marshalling into an exchange if 
> necessary) to the inner route(s) since they are launched and started. If 
> there are multiple inner routes with many consumers, we could expect the user 
> to provide a clue using the payload and/or an exchange property as to how the 
> payload should be routed.
>     d> Extend from a Default Consumer, Producer, Endpoint and Component.
>     e> Internally manage inner route lifecycles and operations. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to