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

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

Hi Claus, 

Looks like you have already implemented the changes and checked in the code. 

BTW, on (6), the reason I did not directly extend SEDAConsumer and 
DirectConsumer was because, it would create a dependency between two 
components. I did not want to cause any updates to the SEDA code to have to 
consider the Routebox component and vice-versa. I therefore went one level 
higher and worked from there. 
I wanted to clearly delineate between the SEDA and Direct in their respective 
components from the implementation in the routebox so that it could be revved 
independently. 

On (9), I created the RouteConsumer and RouteProducer so that if there was a 
need to add other protocols (HTTP, JMS, TCP etc) so that the routebox 
implementation was not JVM bound as it is right now, it could be done in a 
consistent way. 

Thanks for the code updates. 
   
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