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